根据参数值向SSIS输出添加其他列

时间:2018-07-19 09:19:11

标签: ssis

我需要根据SSIS中参数的值向CSV添加其他列。

我当前的控制流程如下: Control Flow

我当前的数据流如下:

enter image description here

简而言之,我确定需要为其运行的合同,然后将其传递给参数。然后,我遍历合同列表,并从针对合同参数运行的SQL查询中输出CSV。我的SQL查询中的每个合同都需要相同的列,只是需要将值过滤为合同特定的数据。

我列表中的一个特定合同在其ETL过程中需要在每个CSV的开头添加几列。这些列将在CSV的每一行中包含相同的数据。

我不想只为他们制作新的软件包,因为这会增加日常维护(如果更改适用于所有合同,我只需要更改一次)。

我不确定如何使其他栏仅显示在一个合同上,而不显示在其他合同上。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您无法在运行时更改数据流中的列。它们只能在创建包时设置。

您不必为奇数合约创建新的程序包,但是您必须为其创建新的数据流。

为该合同创建数据流,并在您的foreach循环中以虚拟脚本任务为起点,并使用优先级约束转到该合同的正确数据流。