首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Talend中的透视数据

Talend中的透视数据
EN

Stack Overflow用户
提问于 2017-08-31 18:07:31
回答 1查看 579关注 0票数 1

我有一些数据需要在Talend中进行透视。这是一个示例:

代码语言:javascript
复制
brandname,metric,value
A,xyz,2
B,xyz,2
A,abc,3
C,def,1
C,ghi,6
A,ghi,1

现在,我需要在指标列上透视此数据,如下所示:

代码语言:javascript
复制
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中寻找了一些第三方组件,但是找不到任何有用的东西。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-10-03 03:16:43

假设您的指标是固定的,您可以使用它们的名称作为输出的列。完成透视的解决方案有两个部分:第一个tMap将每个输入行in的值转置到输出行out中的相应列,第二个tAggregate根据品牌名对map的输出行进行分组。

对于列,您必须有条件地填充这些列,例如名为“abc”的输出列:out.abc = "abc".equals(in.metric)?in.value:null

tAggregate中,您必须按out.brandname进行分组,并将每一列聚合为sum,而忽略空值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45978766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档