次の方法で共有


左外部結合

Power Query の [マージ] ダイアログ ボックスで使用できる結合の種類の 1 つは、左 外部結合です。この結合では、左側のテーブルのすべての行が保持され、右側のテーブルから一致する行が取り込まれます。 詳細については、「マージ操作の概要を参照してください。

左外部結合の例の図。

図は、Date、CountryID、Units 列を含む左側のテーブルを示しています。 強調された CountryID 列には、行 1 と行 2 に 1、行 3 に 3、行 4 に 4 の値が含まれています。 この図は、ID 列と Country 列を含む左側のテーブルを示しています。 強調された ID 列には、行 1 (米国を表す) に 1、行 2 に 2 (カナダを表す)、3 行目 (パナマを表す) の値が含まれます。 最初の 2 つのテーブルの下のテーブルには、Date、CountryID、Units、Country 列が含まれています。 テーブルには 4 つの行があり、上位 2 行には CountryID 1 のデータ、CountryID 3 の行、国 ID 4 の行が含まれています。 右側のテーブルには 4 の ID が含まれていないため、Country 列の 4 番目の行の値には null が含まれています。

この記事では、サンプル データを使用して、左外部結合を使用してマージ操作を行う方法を示します。 この例のサンプル ソース テーブルは次のとおりです。

  • Sales: このテーブルには、日付CountryID、そして Unitsフィールドが含まれます。 CountryID は、Countries テーブルの一意の識別子を表す整数の値です。

    Date、CountryID、Units の各列を含む売上テーブルのスクリーンショット。CountryID は行 1 と行 2 で 1、行 3 は 3、行 4 は 4 に設定されています。

  • 国々: この表は、ID および フィールドを含む参照テーブルです。 ID フィールドは、各レコードのユニークな識別子を表します。

    左外部結合のサンプル Country テーブルのスクリーンショット。

    ID が行 1 では 1、行 2 では 2、行 3 では 3、国名が行 1 では米国、行 2 ではカナダ、行 3 ではパナマに設定されている Countries テーブル。

この例では、Sales テーブルを左のテーブルに、Countries テーブルを右側のテーブルとして、両方のテーブルをマージします。 結合は、次の列間で行われます。

Sales テーブルのフィールド Countries テーブルのフィールド
CountryID 身分証明書

目標は、次のようなテーブルを作成することです。Sales テーブルに国の名前が新しい Country 列として表示されます。CountryIDCountries テーブルに存在する限りです。 左右のテーブル間に一致がない場合、null 値はその行のマージの結果になります。 次の図では、この null 値は、Sales テーブルから取り込まれた countryID 4 の場合と同じであることが示されています。

左側の外部結合の最終テーブルを示すスクリーンショット。Country 列が追加され、その列の 4 行目の値が null に設定されています。

左外部結合を実行するには:

  1. Sales のクエリを選択し、[クエリのマージ] を選択します。
  2. [マージ] ダイアログ ボックスの [マージ用の右テーブル][Countries] を選択します。
  3. Sales テーブルで、CountryID 列を選択します。
  4. [国] テーブルで、ID 列を選択します。
  5. [結合の種類] セクションで、[左外部] を選択します。
  6. [OK]を選択します。

CountryID 列、ID 列、および左外部ボタンが選択されているマージ ダイアログ ボックスのスクリーンショット。

新しく作成した [国] 列で、[国] フィールドを展開します。 [元の列名をプレフィックスとして使用します] チェック ボックスをオンにしないでください。

Country の展開されたテーブル列のスクリーンショット。

この操作を実行した後、次の図のようなテーブルを作成します。

最終テーブルのスクリーンショット。Country 列が追加され、その列の 4 行目の値が null に設定されています。