ssis - 如何从多个来源仅加载 SSIS 中的唯一和最新记录
问题描述
我有两个源文件和数据库。
“Product_code”是关键,但它可以是重复的,因为文件可以在数据库中修改产品。两者都有 ModDate 字段。
我必须加载唯一的和最新的记录。
在数据库中有 30 个唯一 ID,文件中有 10 个具有较新的日期,必须用较旧的日期替换数据库中的行。
在这种情况下,最常用的工具是什么?任何关于数据流结构的想法都将受到高度赞赏。不能使用脚本和 T-SQL。
我正在使用这种结构
建议使用按 ID 和 MAX 日期聚合排序后
现在的结构是这样的
但仍然没有得到结果(目标数据库中所有具有最新日期的列。现在最后只有一列(ID)。
谢谢
解决方案
根据您提到的限制,您可以这样处理:
- 将两个数据源联合在一起(您可能会遇到数据类型问题)
- 多播到路径 A 和路径 B
路径 A:
- 使用聚合转换按产品 ID 和 MAX modifieddate 分组
- 其输出将是两列:独特产品列表及其最新修改日期
路径 B:加入产品和修改日期的路径 A。它的输出应该是根据您想要的内容过滤的数据集。
推荐阅读
- perforce - 强制覆盖版本的历史记录?
- ruby-on-rails - 尝试在 Mac 上本地运行 Rails + React 应用程序时,如何修复“端口已在使用”错误?
- flutter - 如何在 DateTimeField Flutter 中删除确定按钮并取消
- nginx - htpasswd 文件和 NGINX
- awk - 如何使用 awk/grep 从文件中搜索存储在变量中的值
- json - 如何处理多种日期格式?火花 - 斯卡拉
- c - C语言相同的代码导致main和function不同
- python - Django:如何以 Django 方式优化和减少重复代码?
- firebase - 地图或数组中的最大字段深度?使用限制问题
- http - 处理程序是否假设在 http 响应标头中填充内容类型?