マージ クエリの概要

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

上部の 2 つの空のテーブルが、左側のテーブルのすべての列と右側のテーブルから 1 つの列を含む一番下のテーブルにマージされた状態を示す図。

クエリのマージ

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

  • [マージ クエリ]: マージ操作の 左側のテーブルとして選択したクエリを含む [マージ] ダイアログ ボックスが表示されます。
  • [新しいクエリとしてクエリ をマージする]: マージ操作に対して事前に選択されたテーブルを含めずに[マージ] ダイアログ ボックスを表示します。

[ホーム] タブの [クエリのマージ] コマンド。

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

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

  • マージの左側のテーブル: 画面の上から下への最初の選択。
  • マージの右側のテーブル: 画面の上から下に 2 つ目の選択。

[マージ] ダイアログ ボックス。

注意

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

列ペアの選択

左と右の両方のテーブルを選択した後、テーブル間の結合を行う列を選択できます。 次の例では、次の 2 つのテーブルがあります。

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

左右のテーブルと列が選択された [マージ] ダイアログ ボックス。

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

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

注意

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

複数の列を選択して結合を実行することもできます。列を選択する場合は 、Ctrl キーを押します。 これを行う場合、列が選択された順序は、1 から始まる列見出しの横に小さな数値で表示されます。

この例では、Sales テーブルと Countries テーブル があります。 各テーブルには CountryID 列と StateID 列があります。この列は、両方の列間の結合に対してペアリングする必要があります。

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

左右のテーブルの設定を含む [マージ] ダイアログ ボックス。

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

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

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

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

[テーブル列] メニューを展開します。

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

注意

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

結合の種類

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

結合の種類 アイコン 説明
左外側 左外側。 左側のテーブルのすべての行(右側のテーブルの行と一致)
右外側 右外側。 左側のテーブルの行と一致する、右側のテーブルのすべての行
完全外部 完全外部。 両方のテーブルのすべての行
内部 内部。 両方のテーブルの一致する行のみ
Left anti 左のアンチ。 左側のテーブルの行のみ
右のアンチ 右のアンチ。 右側のテーブルの行のみ

あいまい一致

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

注意

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