あいまい結合
あいまい結合 とは、列を比較するときにあいまい一致アルゴリズムを適用して、マージ対象のテーブル間の一致を検索するために使用できるスマートなデータ準備機能です。
[マージ] ダイアログ ボックスの下部にある [あいまい一致] を有効にするには、 [あいまい一致を使用してマージを実行する] ボタンを選択します。 詳細情報: マージ操作の概要に関するページ
注意
あいまい一致を使用するには、必ずテキスト列に対するマージ操作を実施します。 Power Query では、Jaccard 類似性アルゴリズムを使用して、インスタンスのペア間の類似性を測定します。
サンプル シナリオ
あいまい一致の一般的なユース ケースとしては、アンケートなどで使用する自由形式のテキスト フィールドがあります。 この記事では、グループに送信された 1 つの質問のみを含むオンライン アンケート (「好きな果物は何ですか? 」) からサンプル テーブルを取得しています。
このアンケートの結果を次の図に示します。
サンプル アンケートの出力テーブルには、すべての回答が一意である 9 つの個別回答と、すべての入力ミス、複数形、単数形、大文字、小文字の問題を含むアンケートへの回答が含まれています。
9 つのレコードは送信されたアンケートを指しています。 アンケートの送信に関する問題としては、入力ミス、複数形、単数形、大文字、小文字に関する問題があります。
この例では、このような値を標準化するために 果物 の参照テーブルを使用します。
果物の参照テーブルには 4 つの果物を示す列分布グラフが含まれています。すべての果物は一意で、果物としてリンゴ、パイナップル、スイカ、バナナがあります。
注意
わかりやすくするために、この 果物 の参照テーブルには、このシナリオで必要となる果物の名前のみが含まれています。 参照テーブルには、必要な数の行を含めることができます。
ここでの目標は、すべての値を標準化し、より多くの分析を行うことができるテーブルを作成することです。
質問列が含まれるサンプル アンケートの出力テーブルには、列分布グラフが表示されます。これには、すべての回答が一意である 9 つの個別回答と、すべての入力ミス、複数形、単数形、大文字、小文字の問題を含むアンケートへの回答が含まれています。 さらに、果物の参照テーブルも含まれます。これには 4 つの果物を示す列分布グラフが含まれます。すべての回答は一意で、すべての果物は正しく記載され、単数形が使用され、大文字と小文字の使用に間違いがありません。
あいまい結合
あいまい結合を行うには、まずマージを実行します。 この場合は、左外部結合を使用します。左外部結合では、左側のテーブルがアンケートのテーブルで、右側のテーブルは 果物 の参照テーブルです。 ダイアログ ボックスの下部にある [あいまい一致を使用してマージを実行する] チェックボックスを選択します。

[OK] を選択すると、このマージ操作のためテーブルに新たな列が表示されます。 展開すると、値が含まれていない行が 1 つあることがわかります。 前の画像のダイアログ ボックスでは、「最初のテーブルの 9 行のうち 8 行が一致しました。」 というメッセージが表示されましたが、この状況を指しています。
調査テーブルに追加された果物列。質問列のすべての行 (展開できない 9 行目を除く) が展開され、果物列には null が含まれています。
あいまい一致オプション
あいまい一致オプション を変更して、おおよその一致の実行方法を調整できます。 最初に [クエリのマージ] を選択し、その後 [マージ] ダイアログ ボックスで [あいまい一致オプション] を展開します。

使用可能なオプションは次のとおりです。
- 類似性のしきい値 (省略可能) : 指定された類似性スコアを超えるレコードを一致させる機能を持つ 0.00 から 1.00 の値。 しきい値 1.00 は、完全一致条件を指定した場合と同じです。 たとえば、しきい値が 0.90 未満に設定されている場合、Grapes は Graes (p がない) と一致します。 既定では、この値は 0.80 に設定されます。
- [大文字と小文字を区別しない] : テキストが大文字でも小文字でも、レコードを一致させます。
- [テキスト部分を組み合わせて一致] : テキスト部分を組み合わせて一致項目を検索できます。 たとえば、このオプションが有効に場合、Micro soft と Microsoft は一致します。
- [一致数 (オプション)] : 各入力行に対し返すことができる、一致する行の最大数を指定します。
- [変換テーブル (オプション)] : カスタム値のマッピングに基づいてレコードを照合できます。 たとえば、ソース 列に Grapes が含まれ、ターゲット 列に Raisins が含まれる変換テーブルが指定されている場合、Grapes は Raisins と一致します。
変換テーブル
この記事の例では、変換テーブルを使用してペアのない値をマッピングできます。 この値は apls で、 Apple にマッピングする必要があります。 この変換テーブルには、次の 2 つの列があります。
- ソース には検索する値が含まれます。
- ソース 列を使用して検出された値を置換するために使用される値を ターゲット に格納します。
この記事では、変換テーブルは次のようになります。
| ソース | ターゲット |
|---|---|
| apls | Apple |
[マージ] ダイアログ ボックスに戻り、 [一致数 (オプション)] の [あいまい一致オプション] に「1」と入力します。 [変換テーブル (オプション)] で、ドロップダウン メニューから [テーブルの変換] を選択します。

[OK] を選択した後、すべての値が正しくマッピングされた次の画像のようなテーブルを作成します。 この例では 最初に 9 つの個別の値がありましたが、あいまい結合の後では 4 つの個別の値しかないことに注意してください。
質問列を含むあいまい結合によるアンケートの出力テーブルには、すべての回答が一意である 9 つの個別回答と、すべての入力ミス、複数形、単数形、大文字、小文字の問題を含むアンケートへの回答が含まれています。 また、4 つの異なる回答を示す列分布グラフを含む果物列が含まれています。すべての回答は一意です。すべての果物は正しく記載され、単数形が使用され、大文字と小文字の使用に間違いがありません。