クエリのマージの概要

クエリのマージ操作を使用すると、1 つ以上の列の一致する値に基づいて、2 つの既存のテーブルが結合されます。 必要な出力に応じて、異なる種類の結合を使用できます。

Diagram showing two empty tables on top merged to a table on the bottom with all columns from the left table and one from the right table.

クエリのマージ

[クエリのマージ] コマンドは、 [ホーム] タブの [結合] グループにあります。 ドロップダウン メニューには、次の 2 つのオプションがあります。

  • [クエリのマージ] : [マージ] ダイアログ ボックスが表示され、選択したクエリがマージ操作の左側のテーブルとして示されます。
  • [新規としてクエリをマージ] : [マージ] ダイアログ ボックスが表示され、マージ操作の対象として事前に選択されテーブルはありません。

Merge queries commands in the Home tab.

マージするテーブルを識別する

マージ操作には、2 つのテーブルが必要です。

  • マージの左側のテーブル: 画面の上側にある 1 番目の選択。
  • マージの右側のテーブル: 画面の下側にある 2 番目の選択。

Merge dialog box.

注意

使用する正しい結合の種類を選択すると、テーブルの左または右の位置が非常に重要になります。

列のペアを選択する

左と右両方のテーブルを選んだ後、テーブル間の結合を主導する列を選択できます。 次の例では、2 つのテーブルがあります。

  • Sales: CountryID フィールドは、Countries テーブルのキーまたは識別子です。
  • Countries: このテーブルには、CountryID と国の名前が含まれます。

Merge dialog box with left and right tables and columns selected.

マージの左テーブルが Sales に設定されて CountryID 列が選択され、マージの右テーブルが Countries に設定されて CountryID 列が選択されている [マージ] ダイアログ ボックス。

目標は、両方のテーブルの CountryID 列を使用してこれらのテーブルを結合することなので、各テーブルから CountryID 列を選びます。 選択を行った後、ダイアログ ボックスの下部に推定される一致数のメッセージが表示されます。

注意

この例では両方のテーブルの列ヘッダーが同じですが、これはマージ操作の要件ではありません。 列ヘッダーがテーブル間で一致している必要はありません。 ただし、列が同じデータ型である必要があることに注意してください。そうしないと、マージ操作で正しい結果が得られない可能性があります。

Ctrl キーを押しながら列を選ぶことで、複数の列を選んで結合を実行することもできます。 その場合、列を選んだ順序が、列見出しの横に 1 から始まる小さな数字で表示されます。

この例では、Sales および Countries テーブルを使用します。 各テーブルに CountryID 列と StateID 列があり、両方の列の結合でこれらをペアにする必要があります。

最初に Sales テーブルで CountryID 列を選び、Ctrl キーを押してから、StateID 列を選びます。 (列見出しに小さい数字が表示されます)。次に、Countries テーブルで同じ選択を実行します。 次の図は、これらの列を選択した結果を示しています。

Merge dialog box with settings for the left and right tables.

![マージの左テーブルが Sales に設定されて CountryID と StateID 列が選択され、マージの右テーブルが Countries に設定されて CountryID と StateID 列が選択されている [マージ] ダイアログ ボックス。 結合の種類は [左外部] に設定されています。

マージされた新しいテーブル列を展開または集計する

[マージ] ダイアログ ボックスで [OK] を選ぶと、左テーブルのすべての列がクエリのベース テーブルに設定されます。 また、右テーブルと同じ名前の新しい列が追加されます。 この列には、行単位で右テーブルに対応する値が保持されます。

ここから、この新しいテーブル列のフィールドを展開または集計できます。これは、右テーブルのフィールドになります。

Expand table column menu.

右側のマージされた Countries 列を示すテーブルと、テーブルに含まれるすべての行。 Countries 列ヘッダーの右側にある展開アイコンが選ばれ、展開メニューが開いています。 展開メニューでは、[すべて選択]、CountryID、StateID、Country、State が選ばれています。 [元の列名をプレフィックスとして使用します] も選ばれています。

注意

現在、Power Query Online エクスペリエンスのインターフェイスでは展開操作だけが提供されています。 集計オプションは、今年の後半に追加される予定です。

結合の種類

結合の種類 は、マージ操作の実行方法を指定します。 次の表では、Power Query で使用できる結合の種類について説明します。

結合の種類 アイコン 説明
左外部 Left outer. 左テーブルのすべての行、右テーブルの一致する行
右外部 Right outer. 右テーブルのすべての行、左テーブルの一致する行
完全外部 Full outer. 両方のテーブルのすべての行
内部 Inner. 両方のテーブルで一致する行のみ
左反 Left anti. 左テーブルの行のみ
右反 Right anti. 右テーブルの行のみ

あいまい一致

列を比較するときにあいまいマージを使用してあいまい一致アルゴリズムを適用し、マージしているテーブル間で一致するものを検索します。 この機能を有効にするには、 [マージ] ダイアログ ボックスの [あいまい一致を使用してマージを実行する] チェック ボックスをオンにします。 [あいまい一致オプション] を展開して、使用可能なすべての構成を表示します。

注意

あいまい一致は、テキスト列に対するマージ操作でのみサポートされます。