【问题标题】:Historical data sets in an initial build初始构建中的历史数据集
【发布时间】:2019-06-27 18:25:20
【问题描述】:

我目前面临的问题是我认为一个合乎逻辑的问题,也许是 SSIS 的限制。

我的数据有一组帐户,在任何时候这个帐户都可以归一个组织所有。这个组合控制了我的“帐户”的历史维度

例如

╔════════════╦═══════════════╦════════════════╦════════════╦════════════╦═════════╗
║ AccountKey ║ AccountNumber ║ OrganisationSK ║ VaildFrom  ║ VaildTo    ║ Current ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 1          ║ 2000          ║ 10             ║ 2000-01-01 ║ 2006-02-10 ║ N       ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 2          ║ 2000          ║ 11             ║ 2006-02-10 ║ 2010-06-01 ║ N       ║
╠════════════╬═══════════════╬════════════════╬════════════╬════════════╬═════════╣
║ 3          ║ 2000          ║ 10             ║ 2010-06-01 ║ NULL       ║ Y       ║
╚════════════╩═══════════════╩════════════════╩════════════╩════════════╩═════════╝

这样做很容易,因为我只是让 SCD 完成它的工作,这是我正在努力解决的初始负载。

使用 SSIS 作为我的 ETL 工具,我是否能够使用内连接,给我三个记录,按“ValidFrom”对它们进行排序,然后将所有三个传递给 SCD,SSIS 会解决问题吗?

在这种情况下,人们过去做了什么?

【问题讨论】:

    标签: ssis data-warehouse scd


    【解决方案1】:

    您可以使用合并转换在 SSIS 中使用内部连接。链接如下:

    合并联接的要求之一是对来自两个数据源的联接至少一列进行排序,以便您可以按所需的“ValidFrom”列对数据进行排序。

    然后您可以将 Merge Join 输出连接到您的 SCD 转换。

    请注意,Merge Join 转换是半阻塞转换,因此如果您处理大量数据,您的 ETL 性能可能会受到影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多