マージ クエリ操作では、1 つまたは複数の列の一致する値に基づいて、2 つの既存のテーブルを結合します。 必要な出力に応じて、さまざまな種類の結合を使用できます。
クエリのマージ
クエリの マージ コマンドは、[ ホーム ] タブの [結合 ] グループにあります。 ドロップダウン リスト メニューには、次の 2 つのオプションがあります。
- クエリのマージ: 選択したクエリを マージ 操作の左側のテーブルとして、[マージ] ダイアログ ボックスを表示します。
- 新しいクエリのマージ: マージ 操作用に事前に選択されたテーブルを含まない [マージ] ダイアログ ボックスが表示されます。
マージするテーブルを識別する
マージ操作には、次の 2 つのテーブルが必要です。
- マージ用の左テーブル: 画面の上から下に向かって最初に選択するもの。
- 結合用の右側のテーブル: 画面の上から下に向かって 2 つ目の選択肢。
注
使用する正しい結合の種類を選択すると、テーブルの位置 (左または右) が非常に重要になります。
列のペアを選択する
左と右の両方のテーブルを選択した後、テーブル間の結合を駆動する列を選択できます。 次の例では、次の 2 つのテーブルがあります。
- Sales: CountryID フィールドは、 Countries テーブルのキーまたは識別子です。
- 国: この表には、 CountryID と国の名前が含まれています。
マージダイアログのスクリーンショット。マージ用の左テーブルが Sales に設定され、CountryID 列が選択され、右テーブルが Countries に設定され、CountryID 列が選択されています。
目標は、両方のテーブルの CountryID 列を使用してこれらのテーブルを結合するため、各テーブルから CountryID 列を選択することです。 選択を行うと、ダイアログ ボックスの下部に推定一致数を含むメッセージが表示されます。
注
この例では両方のテーブルで同じ列ヘッダーを示していますが、一致する列名はマージ操作の要件ではありません。 列ヘッダーはテーブル間で一致する必要はありません。 ただし、列は同じデータ型である必要があることに注意してください。そうしないと、マージ操作によって正しい結果が得られない可能性があります。
列を選択するときに Ctrl キー を押して、複数の列を選択して結合を実行することもできます。 この場合、列が選択された順序は、列見出しの横に 1 から始まる小さい数字で表示されます。
この例では、 Sales テーブルと Countries テーブルがあります。 各テーブルには CountryID 列と StateID 列があり、両方の列間の結合に対してペアにする必要があります。
まず Sales テーブルで CountryID 列を選択し、Ctrl キーを押してから StateID 列を選択します。 (このアクションでは、列見出しの小さい数値が表示されます)。次に、 Countries テーブルで同じ選択を実行します。
マージ ダイアログのスクリーンショット。マージ用の左テーブルが [Sales] に設定され、[CountryID] 列と [StateID] 列が選択され、マージ用の右テーブルが [国] に設定され、[CountryID] 列と [StateID] 列が選択されています。 結合の種類は左外部に設定されます。
注
結合に複数の列を選択する場合、各テーブルの列を選択する順序が一致する必要があります。 たとえば、左側のテーブルで選択されている最初の列は、右側のテーブルで選択された最初の列と一致します。 それ以外の場合は、正しくない結合結果を確認できます。
列ペアの候補を使用する
[マージ] ダイアログで左右のテーブルを選択すると、ダイアログの右上隅にある電球アイコンを確認できます。 この電球は、両方のテーブル間の列ペア マッピングに関する推奨事項があるかどうかを示します。
多くの提案が存在する可能性がありますが、このシナリオでは、Sales テーブルの CountryID 列を Countries テーブルの CountryID 列にマップする機能によって提案が 1 つだけ存在します。 これを選択すると、列とペアのマッピングがダイアログに自動的に適用されます。
注
列ペアのマッピングのみが提案されます。 結合の種類やあいまい一致の構成など、このダイアログのその他のオプションは、この提案の対象範囲外です。
結合された新しいテーブル列を展開または集計する
[マージ] ダイアログ ボックスで [OK] を選択すると、クエリのベース テーブルに左側のテーブルのすべての列が表示されます。 また、適切なテーブルと同じ名前の新しい列が追加されます。 この列には、右側のテーブルに対応する値が行ごとに保持されます。
ここから、この新しいテーブル列のフィールド (右側のテーブルのフィールド) を展開または集計することができます。
注
現在、Power Query Online では、そのインターフェイスでのみ拡張操作が提供されます。 集計するオプションは、今年後半に追加される予定です。
結合の種類
結合の種類は、マージ操作の実行方法を指定します。 次の表では、Power Queryで使用できる結合の種類について説明します。
| 結合の種類 | アイコン | 説明 |
|---|---|---|
| 左外部結合 | 左側のテーブルのすべての行 (右側のテーブルの行と一致) | |
| 右外部結合 | 右側のテーブルのすべての行 (左側のテーブルの行と一致) | |
| 完全外部結合 | 両方のテーブルのすべての行 | |
| 内部結合 | 両方のテーブルの一致する行のみ | |
| 左アンチ結合 | 左側のテーブルの行のみ | |
| 右結合のアンチ結合 | 右側のテーブルの行のみ |
あいまい一致
あいまいマージを使用して、列を比較するときにあいまい一致アルゴリズムを適用し、マージするテーブル間で一致を検索します。 この機能を有効にするには、[マージ] ダイアログ ボックスの [あいまい一致を使用してマージを実行する] チェック ボックスをオンにします。 [ あいまい一致] オプション を展開して、使用可能なすべての構成を表示します。
注
あいまい一致は、テキスト列に対するマージ操作でのみサポートされます。 詳細については、「