次の方法で共有


あいまい統合

あいまい統合とは、列を比較するときにあいまい一致アルゴリズムを適用するために使用できるスマートなデータ準備機能です。 これらのアルゴリズムは、統合されているテーブル間の一致を検索しようとします。

[マージ] ダイアログ ボックスの下部にある [あいまい一致] を有効にするには、[あいまい一致を使用してマージを実行する] ボタンを選択します。 詳細情報: マージ操作の概要に関するページ

Note

あいまい一致を使用するには、必ずテキスト列に対するマージ操作を実施します。 Power Query では、Jaccard 類似性アルゴリズムを使用して、インスタンスのペア間の類似性を測定します。

シナリオ例

あいまい一致の一般的な使用用途としては、アンケートなどで使用する自由形式のテキスト フィールドがあります。 この記事では、グループに送信された 1 つの質問のみを含むオンライン アンケート (「好きな果物は何ですか?」) からサンプル テーブルを取得しています。

このアンケートの結果を次の図に示します。

未加工のエントリを含むサンプル アンケート。

すべての回答が一意である 9 つの個別回答と、すべての入力ミス、複数形または単数形、大文字と小文字の問題を含むアンケートへの回答が表示されている列分布グラフを含むサンプル アンケートの出力テーブルのスクリーンショット。

9 つのレコードは送信されたアンケートを指しています。 アンケートの送信に関する問題としては、入力ミス、複数形、単数形、大文字、小文字に関する問題があります。

この例では、このような値を標準化するために果物の参照テーブルを使用します。

果物の参照テーブル。

4 つの個別の果物を示す列分布グラフが含まれた果物の参照テーブルのスクリーンショット。すべての果物は一意で、果物としてリンゴ、パイナップル、スイカ、バナナがあります。

Note

わかりやすくするために、この 果物の参照テーブルには、このシナリオで必要となる果物の名前のみが含まれています。 参照テーブルには、必要な数の行を含めることができます。

目標は、すべての値を標準化し、より多くの分析を行うことができるテーブルを作成することです。

サンプル アンケートの出力テーブル。

列分布グラフを含めた質問列を含むサンプルアンケート出力テーブルのスクリーンショット。 グラフには、すべての回答が一意の 9 つの個別の回答が表示されます。 アンケートの回答には、入力ミス、複数形または単数形、大文字と小文字の問題がすべて含まれています。 出力テーブルには、Fruit 列も含まれています。 この列には、1 つの一意の回答を含む 4 つの個別の回答を示す列分布グラフが含まれています。 また、すべての果物のスペル、単数形、および適切な大文字と小文字が正しく一覧表示されます。

あいまいマージ操作

あいまい結合を行うには、まずマージを実行します。 この場合は、左外部結合を使用します。左外部結合では、左側のテーブルがアンケートのテーブルで、右側のテーブルは果物の参照テーブルです。 ダイアログ ボックスの下部にある [あいまい一致を使用してマージを実行する] チェックボックスを選択します。

あいまい一致を使用してマージ オプションを実行する方法を示す [マージ] ダイアログのスクリーンショット。

[OK] を選択すると、このマージ操作のためテーブルに新たな列が表示されます。 展開すると、値が含まれていない行が 1 つあります。 前の画像のダイアログ ボックスでは、「最初のテーブルの 9 行のうち 8 行が一致しました。」 というメッセージが表示されましたが、この状況を指しています。

果物列のあいまい一致の結果。

Survey テーブルに追加された Fruit 列のスクリーンショット。 質問列のすべての行 (展開できない 9 行目を除く) が展開され、Fruit 列には null が含まれています。

あいまい一致オプション

あいまい一致オプションを変更して、おおよその一致の実行方法を調整できます。 最初に [クエリのマージ] を選択し、その後 [マージ] ダイアログ ボックスで [あいまい一致オプション] を展開します。

あいまい一致オプションが表示された [マージ] ダイアログのスクリーンショット。

使用可能なオプションは次のとおりです。

  • 類似性のしきい値 (省略可能): 指定された類似性スコアを超えるレコードを一致させる機能を持つ 0.00 から 1.00 の値。 しきい値 1.00 は、完全一致基準を指定するのと同じです。 たとえば、しきい値が 0.90 未満に設定されている場合、GrapesGraes (p がない) と一致します。 既定では、この値は 0.80 に設定されます。
  • [大文字と小文字を区別しない]: テキストが大文字でも小文字でも、レコードを一致させます。
  • [テキスト部分を組み合わせて一致]: テキスト部分を組み合わせて一致項目を検索できます。 たとえば、このオプションが有効に場合、Micro softMicrosoft は一致します。
  • 類似性スコアの表示: 入力値とあいまい一致後の一致値の間の類似度スコアを表示します。
  • [一致数 (オプション)]: 各入力行に対し返すことができる、一致する行の最大数を指定します。
  • [変換テーブル (オプション)]: カスタム値のマッピングに基づいてレコードを照合できます。 たとえば、ソース列に Grapes が含まれ、ターゲット列に Raisins が含まれる変換テーブルが指定されている場合、GrapesRaisins と一致します。

変換テーブル

この記事の例では、変換テーブルを使用してペアのない値をマッピングできます。 この値は aplsで、 Apple にマッピングする必要があります。 この変換テーブルには、次の 2 つの列があります。

  • ソースには検索する値が含まれます。
  • From 列を使用して検出された値を置換するために使用される値を To に格納します。

この記事では、変換テーブルは次のようになります。

ソース ターゲット
apls Apple

[マージ] ダイアログ ボックスに戻り、[あいまい一致オプション][一致数] に、「1」と入力します。 [類似度スコアの表示] オプションを有効にし、[変換テーブル] で、ドロップダウン メニューから [テーブルの変換] を選択します。

一致数が 1 に設定され、変換テーブルが変換テーブルに設定されたマージのダイアログ ボックスのスクリーンショット。

[OK] を選択したら、マージ手順に進むことができます。 テーブル値を含む列を展開すると、[Fruit] フィールドの他に [類似度スコア] フィールドも表示されます。 両方を選択し、プレフィックスを追加せずに展開します。

選択した [Fruit] と [類似度スコア] フィールドを含む果物列のテーブル展開ダイアログのスクリーンショット。

これら 2 つのフィールドを展開すると、テーブルに追加されます。 各値の類似性スコアとして得られる値に注目してください。 これらのスコアは、類似性のしきい値を下げるか上げるかを決定するために必要な場合にさらに変換するのに役立ちます。

各値に対する新しい [Fruit] フィールドと [類似度スコア] フィールドの両方が表示された、あいまい統合 プロセスが発生した後のテーブル出力のスクリーンショット。

この例では、類似性スコアは追加情報としてのみ機能し、このクエリの出力では必要ないため、削除できます。 この例では 最初に 9 つの個別の値がありましたが、あいまい結合の後では 4 つの個別の値しかないことに注意してください。

あいまい結合によるアンケートの出力テーブル。

質問列を含むあいまい統合によるアンケートの出力テーブルのスクリーンショット。すべての回答が一意である 9 つの個別回答と、すべての入力ミス、複数形または単数形、大文字と小文字の問題を含むアンケートへの回答が含まれています。 また、4 つの異なる回答を示す列分布グラフを含む果物列が含まれています。すべての回答は一意です。すべての果物は正しく記載され、単数形が使用され、大文字と小文字の使用に間違いがありません。

変換テーブルのしくみの詳細については、「変換テーブルの規範」を参照してください。