如何从多个来源仅加载 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)。
谢谢
根据你提到的限制,你可以这样处理:
- 将两个数据源联合在一起(您可能会遇到数据类型问题)
- 多播到路径 A 和路径 B
路径A:
- 使用聚合转换按产品 ID 和 MAX 修改日期分组
- 这将输出两列:唯一产品列表及其最新修改日期
路径B:
在产品和修改日期加入路径 A。这个的输出应该是根据你想要的过滤的数据集。
我有两个来源——文件和数据库。
"Product_code" 是关键,但它可以重复,因为文件的产品修改时间可能晚于数据库。两者都有 ModDate 字段。
我必须加载唯一的和最近的记录。
数据库中有 30 个唯一 ID,文件中有 10 个具有较新的日期,必须用较旧的日期替换数据库中的行。
在这种情况下最常用的工具是什么? 任何关于数据流结构的想法都将受到高度赞赏。 不能使用脚本和 T-SQL.
我正在使用这个结构
old ssis structure
建议使用按 ID 和 MAX 日期聚合排序后
现在的结构是这样的
new ssis structure
但仍然没有得到结果(目标数据库中具有最新日期的所有列。现在最后只有一列(ID)。
谢谢
根据你提到的限制,你可以这样处理:
- 将两个数据源联合在一起(您可能会遇到数据类型问题)
- 多播到路径 A 和路径 B
路径A:
- 使用聚合转换按产品 ID 和 MAX 修改日期分组
- 这将输出两列:唯一产品列表及其最新修改日期
路径B: 在产品和修改日期加入路径 A。这个的输出应该是根据你想要的过滤的数据集。