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