2012-09-06 68 views
4

我從Remove duplicates in SSIS Data Flow瞭解到如何使用Sort轉換來刪除具有重複數據值的行。SSIS數據流如何刪除重複行但在SSIS中記錄重複項

在我的情況下,我正在讀取分隔文件,需要消除重複項,並記錄具有重複鍵的行。我需要將這些行輸出到另一個分隔文件,並將其發回給客戶,以便他們可以更正數據並重試。

雖然我不能完全弄清楚如何做到這一點。我將試驗Aggregate和Merge Join,但我希望這樣做有一個已知的模式。

回答

6

您好我的答案會與任何數據,因爲在互聯網上的一些解決方案需要行的主鍵,爲我的解決方案主鍵不是必需的。 這裏樣本結構和樣本數據集:

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

enter image description here

剛組的所有列,並添加最後一列 - 算上所有的(如果有兩個以上的列以上,你只需要在「聚合」元素把所有列和foreach設置組通過,並在年底建成「計算所有」欄):

enter image description here

然後,只需添加條件分割元件,並採取在哪裏月的所有行重超過1個相同行:

enter image description here

實例:

enter image description here

+0

很不錯:+1。但是,如果列a和b是關鍵列,並且我還希望結果OLE DB目標中的列C和D? –

+0

順便說一句,希望我能+10在答案的偉大細節 –

+0

約翰桑德斯IT不重要,如果你所有的列都是鍵不是,有多少列。 **你只需要在「Aggregate」元素中放置所有列和foreach set組,並且最後放置「Count All」列。這會工作。 – Justin