【问题标题】:Add columns from a different source in each row on an SSIS ETL在 SSIS ETL 的每一行中添加来自不同源的列
【发布时间】:2021-09-24 21:40:33
【问题描述】:

我正在尝试进行数据迁移,其中我要迁移的两个表不同,它们具有我需要的数据,但列和格式不同。我的工作流程目前如下所示:

如您所见,我正在从 MSC_CTAA_SUCURSAL_DEPENDENCIA 迁移到平面文件,但我还有另一个来源是 COMMONS_DEF_CATALOGOS,它带来了一些我需要附加到每一行的外键。这些来源位于完全不同的数据库中。

我遇到的问题是,如您所见,我正在从 MSC 迁移 4 行,并且我正在抓取 1 行,其中包含来自 COMMONS 的两列,我想将 COMMONS 中的两列附加到每一行来自 MSC,我尝试了 UNION ALL、MERGE,但它只将来自 COMMONS 的信息添加为新行,您可以在最终输出中看到 5 行。

如何将 COMMONS 中的数据添加到每一行而不添加新行?

【问题讨论】:

    标签: ssis etl


    【解决方案1】:

    我认为您想加入信息以添加新列。

    如果没有键列,可以使用“合并”组件。

    如果你有key,你可以使用“Merge Join”,但你必须先对key列上的数据进行排序。

    【讨论】:

    • 我自己过于复杂了,我只是在派生列中使用了一个常量,该常量是我在 COMMONS 数据源的 WHERE 子句中使用的值。通过使用查找,它将值放在每一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    相关资源
    最近更新 更多