首页 > 解决方案 > 如何使用数据阶段中的数据透视阶段获取列名和行

问题描述

我有一个表格格式

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

我想通过使用 Horizo​​ntal pivot 将其更改为如下新格式。我怎样才能得到列名(严重性)以及它的数据

预期输出:

    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       

标签: pivotdatastage

解决方案


  • 选中 Pivot Properties 选项卡上的 Pivot Index 复选框。

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

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


推荐阅读