在Talend数据透视(Pivot data in Talend)

2019-09-27 10:19发布

我有一些数据,我需要在Talend转动。 这是一个例子:

brandname,metric,value
A,xyz,2
B,xyz,2
A,abc,3
C,def,1
C,ghi,6
A,ghi,1

现在我需要这个数据在这样的指标列摆动:

brandname,abc,def,ghi,xyz
A,3,null,1,2
B,null,null,null,2
C,null,1,6,null

目前我使用tPivotToColumnsDelimited的数据转动到文件和读取从该文件回来。 然而具有将数据存储在外部文件和读回是凌乱和不必要的开销。

有没有办法使用Talend做到这一点,而无需编写到外部文件? 我试图用tDenormalize但据我了解,它会返回行的第1列这不是我所需要的。 我也看了在TalendExchange一些第三方组件,但找不到任何有用。

谢谢您的帮助。

Answer 1:

假设您的指标是固定的,你可以用自己的名字作为输出的列。 做枢轴的解决方案具有两个部分:第一,一个tMap该调换每输入行的值in入输出行中的对应的列out和第二,一个tAggregate ,根据名优产品组地图的输出行。

对于TMAP你必须有条件的栏这样的,例如命名为输出科拉姆“ABC”: out.abc = "abc".equals(in.metric)?in.value:null

tAggregate你必须按out.brandname和汇总各列总和忽略空值。



文章来源: Pivot data in Talend
标签: talend