背景:我现在有一个需求就是需要进行列转行(宽表转高表)原格式是
id | 一月份金额 | 二月份金额 |
---|---|---|
001 | 10000 | 20000 |
想转换为
id | 月份 | 金额 |
---|---|---|
001 | 一月份 | 10000 |
001 | 二月份 | 20000 |
我看了社区这个帖子:【最佳实践】Doris 中实现行列转换,但是这里面的列转行似乎有些构建问题:我看这个demo的列转行,即宽表转高表,为啥一开始说:“首先我借助 Lateral view 形成一个 UserID、客户成绩组成一个字符(使用逗号连接),达到下面的效果:001 | ["语文", "90"] |,下面的代码里又是用了concat( '语文', ',', cn_score )去做的,最后的结果又是userid | subject | score | | 001 | 语文 | 语文 |,这明显是错的啊,score不应该是分数吗?
另外关于行列转换官方文档里列转行提到的LATERAL VIEW generator_function ( expression [, ...] )
的generator_function
函数的构建具体应该参考哪里呢。谢谢