Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS数据流如何删除重复行,但在SSIS中记录重复行_Ssis_Duplicates_Duplicate Removal - Fatal编程技术网

SSIS数据流如何删除重复行,但在SSIS中记录重复行

SSIS数据流如何删除重复行,但在SSIS中记录重复行,ssis,duplicates,duplicate-removal,Ssis,Duplicates,Duplicate Removal,我学习了如何使用排序转换删除具有重复数据值的行 在我的例子中,我正在读取一个带分隔符的文件,需要消除重复项,并记录具有重复项的行。我需要将这些行输出到另一个带分隔符的文件,并通过电子邮件将其发送回客户,以便他们可以更正数据并重试 不过,我不太明白怎么做。我将尝试使用聚合和合并联接,但我希望有一种已知的模式可以实现这一点。通过脚本可能实现。 首先,您需要以编程方式创建和识别重复项 您好,我的答案适用于任何数据,因为internet中的某些解决方案需要行的主键,对于我的解决方案,不需要主键。 此处示

我学习了如何使用排序转换删除具有重复数据值的行

在我的例子中,我正在读取一个带分隔符的文件,需要消除重复项,并记录具有重复项的行。我需要将这些行输出到另一个带分隔符的文件,并通过电子邮件将其发送回客户,以便他们可以更正数据并重试


不过,我不太明白怎么做。我将尝试使用聚合和合并联接,但我希望有一种已知的模式可以实现这一点。

通过脚本可能实现。


首先,您需要以编程方式创建和识别重复项

您好,我的答案适用于任何数据,因为internet中的某些解决方案需要行的主键,对于我的解决方案,不需要主键。 此处示例结构和示例数据集:

a   b
1   23
1   23
16  59
12  12
13  45
12  12
45  56

只需按所有列分组并添加最后一列-全部计数(如果有两列或更多列,则只需在“聚合”元素中放置所有列和foreach set group by,并在最后放置“全部计数”列):

然后只需添加条件拆分元素,并获取多于1行的所有行:

实例:


我将从数据流中删除重复项,并介绍如何“保存”重复行以进行备用处理。

非常好:+1。但是如果a列和b列是关键列,我也希望结果OLE DB目的地中的C列和D列呢?顺便说一句,希望我能+10以获得答案中的详细信息John Saunders这没关系,如果你所有的列都是关键列,那么有多少列。您只需要在“Aggregate”元素中放置所有列和foreach set group by,并在末尾放置“Count all”列。这会有用的。嗨@Justin,当你说“我的解决方案不需要主键”的时候,你说的是什么?主键更多的是一个概念,我的意思是,在这种情况下,你的主键是a列和b列,所以我根本没抓到。@JuanRuizdeCastilla internet中的一些解决方案需要pirmary键-行中的一些ID列。。。。在这种情况下,是的,这是一个概念