SSIS高级非规范化

时间:2017-06-29 14:03:23

标签: ssis msbi

我必须使用SSIS对数据进行反规范化,我尝试使用unpivot。但它给了我这样的输出。我有一个不同的要求。请建议数据流程步骤。谢谢。

product calss   type    Value
prod1   classA  AFD     2
prod1   classA  AFD_TS  6/29/2017
prod1   classA  CCD     5
prod1   classA  CCD_TS  7/4/2017
prod1   classA  MSD     8
prod1   classA  MSD_TS  7/9/2017

原始输入

product calss   AFD AFD_TS      CCD CCD_TS      MSD MSD_TS
prod1   classA  2   6/29/2017   5   7/4/2017    8   7/9/2017
prod1   classB  3   6/30/2017   6   7/5/2017    9   7/10/2017
prod1   classC  4   7/1/2017    7   7/6/2017    1   7/11/2017
prod2   classA  12  7/2/2017    15  7/7/2017    18  7/12/2017
prod2   classB  13  7/3/2017    16  7/8/2017    19  7/13/2017
prod2   classC  14  7/4/2017    17  7/9/2017    11  7/14/2017

预期产出

product calss   type Value TS
prod1   classA  AFD 2   6/29/2017
prod1   classA  CCD 5   7/4/2017
prod1   classA  MSD 8   7/9/2017
prod1   classB  AFD 3   6/30/2017
prod1   classB  CCD 6   7/5/2017
prod1   classB  MSD 9   7/10/2017
prod1   classC  AFD 4   7/1/2017
prod1   classC  CCD 7   7/6/2017
prod1   classC  MSD 1   7/11/2017
prod2   classA  AFD 12  7/2/2017
prod2   classA  CCD 15  7/7/2017
prod2   classA  MSD 18  7/12/2017
prod2   classB  AFD 13  7/3/2017
prod2   classB  CCD 16  7/8/2017
prod2   classB  MSD 19  7/13/2017
prod2   classC  AFD 14  7/4/2017
prod2   classC  CCD 17  7/9/2017
prod2   classC  MSD 11  7/14/2017

1 个答案:

答案 0 :(得分:2)

为此,我将使用异步脚本转换。

对于您传入的每一行,创建三个输出行,一个用于AFD,一个用于CCD,一个用于MSD。

您可以通过在“输入和输出”选项卡上将其SynchronousInputID属性设置为“None”来使输出异步。