2016-03-10 33 views
-3

我使用的是SQL Server 2008中的重複數據,我有一個用戶表:標識使用SSIS

Customer_ID int (PK) 
First_name varchar 
Last_name varchar 
CIN varchar 
address varchar 
dateofbirth varchar 
city varchar 

我試圖找到重複的值。但是,我有不同名稱的客戶exp:Micheal winehouse,Michal winehouse,Micheal winouse,而他們實際上是同一個人。

我需要用SSIS標識重複的值。

+0

到目前爲止,您已經嘗試過/寫過些什麼?我們需要您編寫的方法才能成爲偉大的方法。 –

+0

你必須決定如何確定它是否是同一個人。既然你不能脫離這個名字,你將不得不決定哪一列將幫助你確定它是否是重複的。 – SQLChao

+0

您需要決定「重複」是什麼意思。這可能是一個複雜的過程 - 匹配的姓氏和地址可能不是重複的;在你的例子中,如果一個叫邁克爾的人有一個叫米歇爾的妻子呢?一旦你決定了你的規則,你將需要選擇如何實現它們,但SSIS可能不是最好的答案;也許你可以使用SQL腳本,在Microsoft DQS上完成這項工作,在SSIS工作中......這是一個可以接受的解決方案嗎? –

回答

0

你可以看看設置一些笨手笨腳的SQL服務器組件,如DQS。如果DQS可用,我會了解它是如何工作的,併爲您的數據提供系統組件並將其用作質量檢查。

如果您沒有DQS,您將不得不建立自己的分段,加載等機制。我首先將所有數據拆分出來,然後通過匹配FirstNameLastname,CIN(如果它是人唯一的),(DOB)出生日期,城市和地址進行匹配來確定唯一性。

你仍然會遇到在紐約可能有3個戴夫布朗的可能出生日期相同的情況,但是你不可能讓他們都住在同一個房子裏。

+0

謝謝ichauvin! –