如何从多个来源仅加载 SSIS 中唯一且最新的记录

How to load only unique and most recent records in SSIS from multiple sources

我有两个来源——文件和数据库。

"Product_code" 是关键,但它可以重复,因为文件的产品修改时间可能晚于数据库。两者都有 ModDate 字段。

我必须加载唯一的和最近的记录。

数据库中有 30 个唯一 ID,文件中有 10 个具有较新的日期,必须用较旧的日期替换数据库中的行。

在这种情况下最常用的工具是什么? 任何关于数据流结构的想法都将受到高度赞赏。 不能使用脚本和 T-SQL.

我正在使用这个结构

old ssis structure

建议使用按 ID 和 MAX 日期聚合排序后

现在的结构是这样的

new ssis structure

但仍然没有得到结果(目标数据库中具有最新日期的所有列。现在最后只有一列(ID)。

谢谢

根据你提到的限制,你可以这样处理:

  1. 将两个数据源联合在一起(您可能会遇到数据类型问题)
  2. 多播到路径 A 和路径 B

路径A:

  • 使用聚合转换按产品 ID 和 MAX 修改日期分组
  • 这将输出两列:唯一产品列表及其最新修改日期

路径B: 在产品和修改日期加入路径 A。这个的输出应该是根据你想要的过滤的数据集。