识别和重定向 SSIS 2019 中的重复列值

问题描述 投票:0回答:1

需要明确的是,这并不是利用排序转换在数据流任务中识别、重定向或重复数据删除行的要求。相反,要求是识别列中的重复值,然后以不同的方式处理受影响的行。使用附加的模型表,ProductID 1002 将作为重复项,因此第 3 行和第 4 行应沿着不同的路径流动。同样,产品代码 A01 导致第 2 行和第 6 行被重定向。

如有任何帮助,我们将不胜感激。谢谢!

模型桌

我尝试拆分数据集然后执行联接,但这没有按预期工作。

ssis
1个回答
0
投票

如果这是一个大型数据集,排序将导致性能问题。 但是,如果您必须在 SSIS 而不是数据库中执行此操作,则可能如下所示:

enter image description here

  1. 获取您的源数据,无论是什么。 某些源将允许您指定排序所依据的源列,但我们假设我们无法控制它。
  2. 按产品ID排序
  3. 添加多播以稍后按产品 ID 重新加入原始行
  4. 按 ProductID 聚合并选择
    (*)
    作为
    Count All
  5. 添加具有 1 个条件的条件拆分:
    (DT_I4)[Count all] > 1
  6. 为每个路径按 ProductID 添加两种排序
  7. 使用合并联接再次恢复原始行。 配置示例请参见下图:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.