DataStage系列教程 (Pivot_Enterprise 行列转换)

有人提到Pivot_Enterprise这个组件,之前没有用过,今天捣腾了会,写下来供以后参考,如果有什么不对的,还请多指出,谢谢!

Pivot_Enterprise主要用来进行行列转换。

1 示例

如下两表数据的相互转换。

clip_image002

2 操作

在接下来的例子都是用到三个组件,源文件、pivot_Enterprise、目标文件,如Figure 1所示。

clip_image004

Figure 1 所用到的组件

2.1 列转行

即从A->B。这里主要是Pivot_Enterprise的配置。

clip_image001 Stage选项卡中Properties选项卡的Pivot Type设置为Horizontal。

clip_image001[1] Properties中添加一行,自定义个列名,设置好精度等。双击Derivation,选择需要列转行的列。

clip_image006

Figure 2 水平转换Pivot设置

clip_image001[2] 输出映射。选择ID和合并的那一列,这样最终结果就是2列了。

clip_image008

Figure 3 水平转换结果映射

2.2 行转列

设置与之前的类似。执行的结果类似与sql中的groupby,select后面可以使用聚合函数。如Figure 4就添加了一个平均值的列。

值得注意的是图中标红的位置,我们需要根据数据的情况设置Array Size的大小。根据最开始展示的B的数据,我们看到ID为a的记录有3条,所以设置为3。

clip_image009

Figure 4 行转列Pivot设置

设置Array Size大小为3之后,在【输出】【映射】选项卡中,就会自动生成3列。我们一一映射到目标即可。

clip_image011

Figure 5 垂直转换映射

至此,行列转换就完成了。

原文地址:https://www.cnblogs.com/BlueBreeze/p/datastage_series-Pivot_Enterprise.html