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