Sorting SSIS条件拆分

Sorting SSIS条件拆分,sorting,ssis,filtering,transformation,rank,Sorting,Ssis,Filtering,Transformation,Rank,我正在将一组数据导入OLE DB SQL SERVER。我有两个专栏: ID CONDITION CLIENT 1 A11111 G12345 1 X11111 G23456 2 A11111 G12345 2 A11111 G12345 3 A11111 G12345 3 A11111 G23456 4 X11111 G12345 我必须删除重复项并上传带有转换的表。如果条件列重复项具有相同的值,则取该值

我正在将一组数据导入OLE DB SQL SERVER。我有两个专栏:

ID  CONDITION  CLIENT
1   A11111     G12345
1   X11111     G23456
2   A11111     G12345
2   A11111     G12345
3   A11111     G12345
3   A11111     G23456
4   X11111     G12345

我必须删除重复项并上传带有转换的表。如果
条件
列重复项具有相同的值,则取该值,如果它们不同,则取较小的值。与
客户机
列相同。我将其带到SQL server中的临时表中,在两种条件下使用条件拆分,使用
rank==1
对排名进行筛选。每件事都很顺利,但对于条件列上的两条记录,这些列的排名是默认的,但该记录应该通过管道,因为客户端的排名是
1
。有什么建议可以对这个问题进行排序吗?

删除重复项的最简单方法是在select语句中使用GROUP BY或DISTINCT子句


或者,如果要查找最新的值,可以使用按Id分组、按UpdateDate排序的row_number()语句?下降。每个id的行数的结果将允许您仅选择每个id的行数为1的行。

您的第一个条件应具有2个输出:当秩==1时,正值应输出到UNION ALL转换,默认输出到第二个条件。 第二个条件还应将rank==1输出到UNION ALL转换


然后,UNION ALL的输出将具有通过一个或另一个条件的任何行。

我不确定是否理解该问题,您可以发布一个错误和期望输出的示例吗?例如,当我传递此记录时,在两列上排名后的两条记录看起来像ID条件客户端RankOnCondition RankOnClient 1 A11111 G42345 1 2 1 X11111 G23456 2 1使用列组时的条件拆分此记录变为默认值,因为即使它通过一个列组条件拆分,也会从另一个拆分变为默认值。任何可能的解决方案都可以将记录带到数据库中吗