左外部結合
Power Query の [マージ] ダイアログ ボックスで使用できる結合の種類の 1 つとして 左外部結合 があります。これは、左テーブルのすべての行を維持しながら、右テーブルから一致する行を取り込みます。 詳細については、「マージ操作の概要」を参照してください。
図は、日付、 CountryID、および ユニット 列を含む左側のテーブルを示しています。 強調表示された CountryID 列の行 1 と 2 には値 1 が、行 3 には 3 が、行 4 には 4 が含まれています。 この図は、ID 列と Country 列を含む左側のテーブルを示しています。 強調表示された ID 列には、1 行目に 値 1 (米国を示す)、2 行目には 2 (カナダを示す)、3 行目には 3 (パナマを示す) があります。 最初の 2 つのテーブルの下のテーブルには、日付、CountryID、ユニット、Country の列があります。 このテーブルには 4 つの行があり、上の 2 行には CountryID 1 のデータ、 CountryID 3 の行、および Country ID 4 のデータが含まれています。 右テーブルには ID 4 が含まれていなかったため、Country 列の 4 行目の値には null が含まれています。
この記事では、サンプル データを使用して、左外部結合でマージ操作を実行する方法を示します。 この例のサンプル ソース テーブルは、次のとおりです。
Sales: このテーブルには、フィールド 日付、CountryID、ユニット が含まれます。 CountryID は、Countries テーブルの一意の識別子を表す整数値です。
国: このテーブルは、フィールド ID と Country を含む参照テーブルです。 ID フィールドは、各レコードの一意の識別子を表します。
行 1 で ID が 1、行 2 が 2、行 3 が 3 に設定され、Country が行 1、カナダが行 2、パナマが行 3 に設定されている Countries テーブル。
この例では、Sales テーブルを左テーブルとし、Countries テーブルを右テーブルとして、両方のテーブルをマージします。 結合は、次の列間で行われます。
Sales テーブルのフィールド | Countries テーブルのフィールド |
---|---|
CountryID | ID |
目標は、CountryID が Countries テーブルに存在する限り、国名が Sales テーブルの新たな Country 列として表示される次のようなテーブルを作成することです。 左テーブルと右テーブル間に一致がない場合、null 値がその行のマージの結果となります。 次の図では、この NULL 値は Sales テーブルから取得された CountryID 4 の場合を示しています。
左外部結合を実行するには:
- Sales クエリを選択し、[クエリのマージ] を選択します。
- [マージ] ダイアログ ボックスの [マージ用の右テーブル] で [Countries] を選択します。
- Sales テーブルで、CountryID 列を選択します。
- [国] テーブルで、[ID] 列を選択します。
- [結合の種類] セクションで、[左外部] を選択します。
- [OK] を選択します。
新しく作成した Countries 列から Country フィールドを展開します。 [元の列名をプレフィックスとして使用します] チェック ボックスをオンにしないでください。
この操作を実行した後、次の図のようなテーブルを作成します。