我在表A中有数据如下
Assetid attribute value
1546 Ins_date 05062011
1546 status active
1546 X 10.4567
1546 Y 27.56
1546 size 17
675 X 4.778
675 Y 53.676
675 depth 5
675 st_date 06092010
我在表A中有如上所示的数据。此表有许多Assetids 1546,675,....等。属性可能因资产而异。
我想要输出如下:
assetid ins_date status X Y Size depth st_date
1546 05062011 active 10.4567 27.56 17 null null
675 null null 4.778 53.676 null 5 06092010
我创建了存储过程,然后在Informatica中调用以实现此输出。但是,由于我有大量数据,因此加载时间很长。
请建议我加载它的其他简单方法。
答案 0 :(得分:1)
使用路由器将行拆分为不同的组,具体取决于attribute
,然后使用一组加入者将行合并到同一个{{ 1}}值。
答案 1 :(得分:0)
使用聚合器转换将记录压缩为每个assetid一个记录。然后,对于每个属性,创建一个返回属性匹配的MAX(值)的端口。请注意,此方法假定您提前了解所有可能的属性。
答案 2 :(得分:0)
如前面的答案所示,您可以使用聚合器。由于您的数据集很大,您可以使用表达式中使用变量端口的技术,前提是数据在到达表达式之前进行排序。
您可以下载演示Informatica Marketplace App titled "PowerCenter Mapping: Convert Rows Into Columns"中的两种技术的示例映射。