SSIS从2个来源中减去

时间:2014-03-08 19:38:46

标签: sql sql-server excel ssis

我目前有两个Excel来源。我希望从一个Excel源(SourceA)中减去一个行数,其中包含来自另一个Excel源(SourceB)的行值。 我在每个上使用了条件拆分来指定我想要使用的行。 SourceA返回一行,这是我想要的。源B返回的行数是我所期望的。

在SourceA数据流中,我现在添加了一个聚合转换来计算行数。

然后我使用Union All,数据转换转换,然后使用派生列转换。在此Derived Column转换中,我使用SourceB中的列 - SourceA的聚合计数。

然后我将它链接到SQL Server目标并配置映射。我运行数据流,一切正常。但是,当我查看结果时,它只给我一个NULL值(它不会为我计算)。

如何实现行值和聚合计数的减法?

2 个答案:

答案 0 :(得分:0)

聚合转换是异步的,意味着它不会为每个输入行生成输出。您可能需要合并加入而不是联盟。您可能还想考虑使用变量来保存聚合值。

答案 1 :(得分:0)

为了通过以下方式实现您的目标:

1)通过创建variable1和variable2从源A和源B获取行计数。

2)您可以拖动Derived列或其他变量,您可以减去Variable1-Variable2。

3)将Final变量或Derived列映射到目标。