2017-04-24 157 views
0

我試圖比較來自兩個系統的兩個數據集(供應商主人)。我們正在轉向一個系統,所以我們希望避免重複。問題是名稱,地址等可能略有不同。例如,名稱可能以'Inc'或'Inc.'結尾。或者地址可以是'St'或'Street'。供應商的主人已經傾倒出色,所以我想拉他們進入比較他們,但我不知道如何處理不精確的匹配。我需要比較的數據字段是:姓名,地址,電話號碼,聯邦稅號(如果填入),聯繫人姓名如何執行兩個數據集上的不精確匹配

+1

但是你的問題是什麼?本網站旨在提出具體的開發問題,而不是開放式的「建議」。看起來主要的問題可能是關於在一組數據上執行不精確的匹配。對於這個問題更重要的是你的意思是「系統」 - 現在全部在Excel中?結合的「系統」會是什麼樣子?訪問只會用於匹配?不要只列出幾列「等」,而是列出你需要匹配哪些**鍵**列。將問題更新爲「如何在兩個數據集上執行不精確匹配」。 –

+0

對不起。這是我第一次發佈一個問題,所以我沒有意識到我在問一個開放式問題。是的,我想知道如何在兩個數據集上執行不精確的匹配。我感謝你的時間。 – user7914935

+0

歡迎來到StackExchange!有時你會得到一些直言不諱的答案,但是當你學會以簡明的方式制定問題時,你會發現每個人都非常有幫助。學會這樣做也應該可以幫助你專注於解決問題的關鍵步驟。您發佈的這類問題很可能是一個多部分問題,而不是單個問題的答案。你可以編輯這個問題並添加我提到的一些細節。繼續並更新問題,提供關於關鍵字段的更多詳細信息以及您將比較的記錄數量。除Access之外,您還熟悉了其他什麼工具/語言? –

回答

1

以下是我將如何繼續。你很少會在Stack Exchange上得到這樣的答案,因爲你的問題如果不夠集中。這是一組非常特定的工具(即數據庫或電子表格)的通用步驟。正如我在我的評論中所說的,您需要搜索特定的答案(或者詢問新的答案),以瞭解您在使用時使用的特定工具。在不瞭解所有細節的情況下,Access可以做一些初步的匹配,但是你也可以直接利用Excel甚至Oracle SQL,因爲你已經將它作爲一種資源。

  • 備份您的數據。
  • 爲了匹配的目的製作一份數據的副本。
  • 確保兩組數據的每條記錄都有一個唯一的關鍵字(即自動編號字段或類似關鍵字),以便在確認匹配之前始終可以單獨標識記錄。
  • 創建新的匹配關鍵表和/或包含匹配的唯一關鍵字值列表的字段。
  • 創建新的「匹配」字段並將您的關鍵字段複製到這些新字段中。
  • 磨砂通過
    • 卸下週期和其他標點符號
    • 選擇標準縮寫,並通過在所有記錄相同的值替換所有變化的所有可能的匹配字段中的數據。例如:替換「公司」和「公司」以「公司」
    • 修剪多餘的空間,從年底與詞之間
    • 格式化所有的電話號碼完全相同的方式,或更好,但刪除所有空間和標點符號出於比較的目的,不包括擴展信息:###### ####
    • 將多項屬性解析並分割爲單獨的字段。名稱 - > First,Middle,Last Name字段;地址 - >街道號碼,街道名稱,額外的地址信息。
      • 解析過程本身可以識別和協調格式化差異。
      • 允許分開更容易匹配。
    • 等等等等

一旦匹配字段被充分洗滌,現在匹配在不同的字段。

  • 定義匹配的優先級,即哪個或哪些字段可能產生具有最少量不確定性的可靠匹配。
    • 對於包含稅號的記錄,這似乎是最合乎邏輯的起始位​​置,因爲該號碼的精確匹配應該是有效的或可以指示數據中的錯誤。
  • 對於每種類型的匹配的,更新上述
  • 提到對於每個連續的匹配查詢匹配的鍵字段,排除已經具有在匹配鍵表/字段的匹配記錄。
  • 優化並重復所有這些步驟,直到您確信已找到所有匹配。
  • 將所有不匹配的記錄添加到最終的合併記錄集中。

你從來沒有說過你有多少條記錄。如果可能的話,可能值得您的組織有時間手動驗證自動匹配,並列出並自動匹配並在需要時進行調整。

但即使您成功配對非精確匹配,仍有人需要決定爲合併系統保留哪條記錄。我想你可能會在公司名稱和稅號上匹配 - 實質上是驗證匹配 - 但仍有不同的地址和/或聯繫人姓名。沒有技術答案可以幫助您知道要保留或丟棄哪些數據。應該再次進行人工評審以確定合併後的記錄。如果你正確地設置了這一點,一對夫婦的眼球可能會在一天內通過數千條記錄。

+0

我不反對June7的觀點。特別是如果你以前從未這樣做過,那確實是令人望而生畏的。另一方面,我之前在不同的系統上做過各種工作。不,您不會找到任何魔術代碼,只需幾個步驟或以任何自動方式執行此操作。但是,如果您按照我所做的那樣定義了一組步驟並開發了適當的查詢集(包括選擇和更新查詢),則可以高效地完成這些查詢。祝你好運! –

+0

您的方法很有意義,我非常感謝您花時間回答我的問題。在提出另一個問題之前,我會確保遵循該網站的禮儀。再次感謝! – user7914935