資料統一最佳做法
當您設定規則以將資料統一到客戶設定檔中時,請考慮以下最佳實踐:
平衡統一與完全匹配的時間。 嘗試捕獲每個可能的匹配會導致許多規則和統一需要很長時間。
逐步添加規則並跟蹤結果。 拿掉不會改善匹配結果的規則。
對每個表 進行重複資料刪除,以便每個客戶都顯示在一行中。
使用 規範化 來標準化數據輸入方式的變化 ,例如 Street vs. St vs. St. vs. st.
策略性地使用 模糊匹配 來糾正拼寫錯誤和錯誤 ,例如 bob@contoso.com and bob@contoso.cm。與精確匹配相比,模糊匹配需要更長的運行時間。 始終進行測試,看看在模糊匹配上花費的額外時間是否值得額外的匹配率。
使用 完全匹配來縮小匹配範圍。 確保具有模糊條件的每個規則都至少有一個完全匹配條件。
不要匹配包含大量重複數據的列。 確保模糊匹配列的值不會頻繁重複,例如表單的預設值“Firstname”。
統一性能
每個規則都需要一些時間才能運行。 將每個表與每個其他表進行比較或嘗試捕獲每個可能的記錄匹配項等模式可能會導致較長的統一處理時間。 它還會在將每個表與基表進行比較的計劃上返回很少的匹配項(如果有的話)。
最好的方法是從您知道需要的一組基本規則開始,例如將每個表與主表進行比較。 您的主表應該是包含最完整、最準確數據的表。 此表應按順序排列在「匹配規則統一」步驟的頂部。
逐步添加幾條規則,並查看更改需要多長時間才能運行,以及結果是否有所改善。 轉到「 設置>系統>狀態 」,然後選擇“匹配 ” ,以查看每次統一運行重複數據刪除和匹配所花費的時間。
在「重複數據刪除規則」 和 「匹配規則 」頁面上查看規則統計資訊,以查看唯一記錄 的數量 是否發生變化。 如果新規則與某些記錄匹配,並且唯一記錄計數沒有更改,則以前的規則將標識這些匹配項。
重複資料刪除
使用重複資料刪除規則刪除表中的重複客戶記錄,以便每個表中的一行代表每個客戶。 良好的規則會找出唯一的客戶。
在這個簡單示例中,記錄 1、2 和 3 分享 電子郵件或電話號碼,代表同一個人。
識別碼 | 姓名 | 手機 | |
---|---|---|---|
7 | 人員 1 | (425) 555-1111 | AAA@A.com |
2 | 人員 1 | (425) 555-1111 | BBB@B.com |
3 | 人員 1 | (425) 555-2222 | BBB@B.com |
4 | 人員 2 | (206) 555-9999 | Person2@contoso.com |
我們不希望只是根據名稱進行比對,因為這樣會比對出名稱相同的不同人員。
使用「名稱」和「電話」創建規則 1,該規則與記錄 1 和 2 匹配。
使用「名稱」和「電子郵件」創建規則 2,該規則與記錄 2 和 3 匹配。
規則 1 與規則 2 的組合建立了單一比對群組,因為這些規則都同樣找到記錄 2。
您可以決定唯一標識客戶的規則和條件的數量。 具體的規則取決於您可以匹配的數據、數據的品質以及您希望重複資料刪除過程的詳盡程度。
入選記錄和替代記錄
運行規則並識別出重複記錄後,重複數據刪除過程將選擇「入選者行」。。非入選行稱為「備用行」。。在「匹配規則」統一步驟中使用備用行,以將其他表中的記錄與入選者行進行匹配。 除了入選方資料列之外,也會將資料列與替代資料列中的資料進行比對。
向表添加規則后,您可以通過「合併」偏好設置 配置要選擇哪一行作為入選行。 合併喜好設定是根據資料表所設定。 無論選擇哪種合併策略,如果獲勝者行出現平局,則數據順序中的第一行將用作決勝局。
正規化
使用歸一化來標準化數據,以實現更好的匹配。 歸一化在大型數據集上表現良好。
正規化資料僅用於比較目的,以便更有效地比對客戶記錄。 不會變更最終統一客戶設定檔輸出中的資料。
正規化 | 範例 |
---|---|
數字 | 將許多表示數位的 Unicode 符號轉換為簡單數位。 示例: ❽ 和 VIII. 都歸一化為數位 8。 注意:符號必須以 Unicode 字碼格式進行編碼。 |
符號 | 刪除符號和特殊字元。 範例:!?"#$%&'( )+,.-/:;<=>@^~{}`[ ] |
文字轉小寫字母 | 將大寫字元轉換為小寫。 示例:“THIS Is aN EXamplE”轉換為“THIS IS AN EXAMPLE” |
類型 – 電話 | 將各種格式的電話號碼轉換為數字,並考慮國碼 (地區碼) 和分機號碼顯示方式的變化。 範例:+01 425.555.1212 = 1 (425) 555-1212 |
類型 - 名稱 | 轉換 500 多種常見姓名變化和稱謂。 範例:"debby" -> "deborah" "prof" 和 "professor" -> "Prof." |
類型 - 地址 | 轉換地址的常用部分 範例:"street" -> "st" 和 "northwest" -> "nw" |
類型 - 組織 | 刪除了大約 50 個公司名稱「干擾詞」,例如「co」、“corp”、“corporation”和“ltd”。 |
Unicode 轉 ASCII | 將 Unicode 字元轉換為相應的 ASCII 字母 範例:將字元 'à'、'á'、'â'、'À'、'Á'、'Â'、'Ã'、'Ä'、'Ⓐ' 和 'A' 全部轉換為 'a'。 |
空格 | 刪除所有空白字元 |
別名對應 | 允許您上傳字串配對的自訂清單,然後可以使用此清單來指示應始終視為完全相符的字串。 存在您認為應屬相符的特定資料範例,但使用其他正規化模式卻又無法比對相符時,請使用別名對應。 示例:Scott 和 Scooter,或 MSFT 和 Microsoft。 |
自訂略過 | 允許您上傳字串的自訂清單,然後可以使用此清單來指示不應比對相符的字串。 當您的數據具有應忽略的常見值(例如虛擬電話號碼或虛擬電子郵件)時,自定義繞過非常有用。 示例:永遠不要匹配手機 555-1212,或者 test@contoso.com |
完全相符
使用精度來確定兩個字串的接近程度應被視為匹配項。 默認精度設置需要完全匹配。 任何其他值都啟用該條件的模糊匹配。
精確度可以設定為低 (30% 相符)、中 (60% 相符) 和高 (80% 相符)。 或者,您可以以 1% 的增量自訂和設置精度。
完全匹配條件
首先運行精確匹配條件,以獲得用於模糊匹配的較小值集。 為了產生預期結果,完全相符比對條件必須有合理程度的唯一性。 例如,如果所有客戶都位於同一國家/地區,則在該國家/地區上完全匹配無助於縮小範圍。
全名、電子郵件、電話或位址字段等列具有很好的唯一性,是用作完全匹配的絕佳列。
確保用於完全匹配條件的列沒有任何經常重複的值,例如表單捕獲的預設值“Firstname”。 客戶見解可以分析數據列,以提供對排名靠前的重複值的見解。 可以在 Azure Data Lake(使用 Common Data Model 或 Delta 格式)、連接和 Synapse 上啟用數據分析。 數據配置檔在下次刷新 資料來源 時運行。 有關更多資訊,請 轉到數據分析。
模糊匹配
使用模糊匹配來匹配相近但由於拼寫錯誤或其他小變化而不準確的字串。 有策略地使用模糊匹配,因為它比精確匹配慢。 確保在任何具有模糊條件的規則中至少有一個完全匹配條件。
模糊匹配不適用於捕獲 Suzzie 和 Suzanne 等名稱變體。 使用「規範化模式 類型:名稱 」或自定義 別名匹配 可以更好地捕獲這些變體,客戶可以在其中輸入他們想要視為匹配項的名稱變體清單。
您可以將條件新增至規則,例如比對名字和電話。 給定規則內的條件是「AND」 條件。 每個條件都必須匹配,行才能匹配。 單獨的規則是「OR」 條件。 如果規則 1 與行不匹配,則將這些行與規則 2 進行比較。
注意
只有資料類型為字串的欄才可以使用模糊比對。 對於具有其他數據類型(如整數、雙精度或日期時間)的列,精度欄位是唯讀的,並設置為完全匹配。
模糊比對計算
模糊匹配是通過計算兩個字串之間的編輯距離分數來確定的。 如果分數達到或超過精度閾值,則字串被視為匹配項。
編輯距離是通過添加、刪除或更改字元將一個字元串轉換為另一個字元串所需的編輯次數。
例如,當我們刪除 q、u、e、i 和 e 字元並插入 y 字元時,字串 “Jacqueline” 和 “Jaclyne” 的編輯距離為 5。
要計算編輯距離分數,請使用以下公式:(基本字串長度 - 編輯距離)/基本字串長度。
基準字串 | 比較字串 | 分數 |
---|---|---|
Jacqueline | Jaclyne | (10-4)/10=.6 |
fred@contoso.com | fred@contso.cm | (14-2) / 14 = 0.857 |
franklin | frank | (8-3) / 8 = 0.625 |