2017-04-24 12 views
0

2つのシステムから2つのデータセット(ベンダーマスタ)を比較しようとしています。私たちは1つのシステムに移行しているので、重複を避けたいと考えています。問題は、名前、住所などがわずかに異なる可能性があるということです。たとえば、名前が「Inc」または「Inc.」で終わることがあります。住所は「St」または「Street」とすることができます。ベンダーのマスターは優れたものに落とされているので、私はそれらを比較するためにそれらを引き出すことを考えていましたが、不正確な対応をどう扱うべきか分かりません。私が比較する必要があるデータフィールドは、氏名、住所、電話番号、納税者納税者ID(入力されている場合)、連絡先名2つのデータセットで不正確な一致を実行する方法

+1

あなたの質問は何ですか?このウェブサイトは、オープンエンドの「アドバイス」ではなく、特定の開発に関する質問をするように設計されています。主な質問は、一連のデータに対して不正確な一致を実行することです。その質問にとってもっと重要なことは、あなたが「システム」という意味であることでしょう - それは今Excelですべてですか?そして、組み合わされた "システム"はどのようになるのだろうか?アクセスはマッチングのためだけでしょうか?いくつかの列に "etc."を列挙するのではなく、一致する必要がある**キー**列を正確に列挙してください。質問を「2つのデータセットで不正確な一致を実行する方法」のように更新してください。 –

+0

すみません。これは初めて質問を投稿したので、私はオープンエンドの質問をしていたことに気づいていませんでした。はい、私は2つのデータセットで不正確な一致を実行する方法を知りたいと思います。私はあなたの時間を感謝します。 – user7914935

+0

StackExchangeへようこそ!時には鈍い回答が得られることもありますが、簡潔な方法で質問を作成する方法を学ぶ際には、皆さんが非常に有益です。そうすることを学ぶことは、問題を解決する際に重要なステップに集中するのにも役立ちます。あなたが投稿したこの種の問題は、単一の質問では答えられない複数の部分からなる問題になりそうです。この質問を編集し、私が言及した詳細のいくつかを追加することができます。キーフィールドと比較するレコードの数の詳細については、質問を更新してください。アクセスの他に、他にどのようなツールや言語がありますか? –

答えて

1

です。スタック・エクスチェンジでは、このような答えはほとんど得られません。これは、特定のツール(データベースやスプレッドシートなど)に固有のものではなく、かなり一般的な手順です。コメントの中で述べたように、あなたが行っている特定のツールについて、特定の回答を検索する(または新しい質問をする)必要があります。すべての詳細を知らなくても、Accessは確かにいくつかの予備的なマッチングを行うのに役立ちますが、Excelとして直接使用することも、Oracle SQLをリソースとして使用することもできます。

  • データをバックアップします。
  • データのコピーを一致させるために作成します。
  • 両方のデータセットの各レコードに固有のキー(つまり、オートナンバー型フィールドなど)があることを確認してください。確認された一致が得られるまで、レコードは常に個別に識別できます。
  • 一致した一意キー値のリストを含む新しい一致キーテーブルおよび/またはフィールドを作成します。
  • 新しい「一致」フィールドを作成し、これらの新しいフィールドにキーフィールドをコピーします。
  • スクラブ
    • 取り外し期間と他の句読
    • 標準略語を選択し、すべてのレコードに同じ値でのすべての変更を置換することによって、すべての可能な一致フィールドのデータ。例: "Incorporation"と "Inc."を置き換えます。 ######:「株式会社」
    • で端から、すべての電話番号とまったく同じ方法、またはいっその拡張情報を除いて、比較のために、すべてのスペースや句読点を削除する書式付き
    • 用語間の余分なスペースをトリム####
    • 複数項フィールドを解析して別々のフィールドに分割します。名前 - >最初、中、姓フィールド。住所 - >番地、番地、追加の住所情報。
      • 構文解析プロセス自体で、フォーマットの違いを識別して調整できます。
      • 用語を別々に簡単に照合することができます。一致するフィールドが十分に洗浄された後
    • 、等

は、今や異なるフィールドに一致します。

  • 最低の不確実性で信頼性の高い一致が得られる可能性のある、一致する優先度を定義します。
    • 納税者ID番号を含むレコードの場合、その番号の完全一致が有効である必要があるため、開始するのが最も論理的な場所のようです。データに間違いがある可能性があります。一致の種類毎
  • 、各連続マッチングクエリの
  • 上記整合キーフィールドを更新し、既に一致キーテーブル/フィールドにマッチを持つレコードを除外する。
  • すべての一致が見つかったとみなされるまで、これらの手順をすべて絞り込み、繰り返してください。
  • すべての一致しないレコードを最終的な結合レコードセットに追加します。

あなたはあなたのレコードの数を決して言わなかった。可能であれば、自動で一致するものを並べてリストし、必要に応じて手作業で調整することで、組織の時間を手動で検証する価値があります。

しかし、完全一致ではない場合でも、マージされたシステムでどのレコードを保持するかを決定する必要があります。基本的に一致を確認しながら、会社名と納税者IDに一致するかもしれないが、依然として住所や連絡先の名前が異なっていると思います。どのデータを保持したり破棄したりするかを知るのに役立つ技術的な答えはありません。もう一度、マージされたレコードを完成させるために人間によるレビューを行うべきである。これを正しく設定すると、人間の眼球のカップルが、おそらく数日で数千の記録を通過する可能性があります。

+0

私はJune7の感情に同意しない。特にこれまでにこれをやったことがないならば、それは本当に大変なことです。一方、私はさまざまなシステム上でさまざまな仕事を繰り返してきました。いいえ、いくつかの手順や自動化された方法でこれを行う魔法のコードは見つかりません。しかし、私が行ったように一連のステップを定義し、適切なクエリセット(選択クエリと更新クエリの両方)を開発すると、効率的に完了できます。がんばろう! –

+0

あなたのアプローチは理にかなっており、私はあなたの質問に答える時間をとってくれて大変感謝しています。私は別の質問をする前に、このサイトの礼儀に従うようにします。再度、感謝します! – user7914935

関連する問題