首页 > 解决方案 > 如何从多个来源仅加载 SSIS 中的唯一和最新记录

问题描述

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

“Product_code”是关键,但它可以是重复的,因为文件可以在数据库中修改产品。两者都有 ModDate 字段。

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

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

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

我正在使用这种结构

旧的 ssis 结构

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

现在的结构是这样的

新的ssis结构

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

谢谢

标签: ssis

解决方案


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

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

路径 A:

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

路径 B:加入产品和修改日期的路径 A。它的输出应该是根据您想要的内容过滤的数据集。


推荐阅读