如何通过使用数据阶段中的数据透视阶段获取列名和行

时间:2019-05-27 12:04:37

标签: pivot datastage

我有一个格式为

的表格
Data: 
ID Sev1 Sev2 Sev3 
ABC 0.45 1 1 
PQR 0.45 1 2 
XYZ 0.45 1 1 

我想使用水平枢轴将其更改为以下新格式。如何获取列名(严重性)及其数据

预期输出:

    ID Severity Values 
    ABC Sev1 0.45 
    ABC Sev2 1 
    ABC Sev3 1 
    PQR Sev1 0.45 
    PQR Sev2 1 
    PQR Sev3 2 
    XYZ Sev1 0.45 
    XYZ Sev2 1 
    XYZ Sev3 1 

将列名作为行,并添加相应的值

在使用水平枢轴进行转换之后,之后我使用CDC阶段来定义其插入还是更新记录,其中CDC_Changecode = 1或CdcChangeCode =3。请在下面的示例数据中查找

    ID Severity Values CDCCode
    ABC Sev1 0.45   1
    ABC Sev2 1      1
    ABC Sev3 1      1
    PQR Sev1 0.45   3
    PQR Sev2 1      3
    PQR Sev3 2      3
    XYZ Sev1 0.45   3
    XYZ Sev2 1      3
    XYZ Sev3 1      3

一旦我在使用CDC阶段后获得此输出(1 =插入记录,3 =更新记录),那么我想使用垂直枢轴将它们转换为行。何时

垂直旋转后的预期输出

CDC代码= 1(插入记录-我正在尝试获取以下数据作为输出)

    ID  Sev1   Sev2 Sev3
    ABC 0.45   1    
    PQR        1    

CDC代码= 3(更新记录-我正在尝试获取以下数据作为输出)

    ID  Sev1   Sev2 Sev3
    ABC             1    
    PQR 0.45        2   
    XYZ 0.45   1    1       

1 个答案:

答案 0 :(得分:0)

  • 选中“数据透视表属性”选项卡上的“数据透视表索引”复选框。

  • 然后将附加列添加到“映射”选项卡上的输出中。 这将生成一个带有数字的列-该列的索引已旋转。

  • 在另一步骤中,您可以将数字转换回列名