Power Queryにより結合の種類(パート2)
Power Queryにより結合の種類(パート1)ではPower Queryにおける6つの種類の結合について紹介しました。今回は、これらの結合の違いをよりよく理解するために、実際の例を用いて説明します。
以下は、各結合の種類を説明するために使用される 3 つのサンプルテーブルです。
① 左外部(最初の行すべて、および2番目の行のうち一致するもの)
2 つのテーブル 「工数データ」 と 「社員」 の間で結合を実行します。
結果
予想どおり、最初の (左側の) テーブルから 7 行のデータがすべて残っています。
1行にnull値があり、7行中6行が一致し、1行が一致しないことがわかります。これは、「工数データ」テーブルには「社員」テーブルにない社員ID(10)があるためです。一致するものが見つからないため、null値のみが返されます。
② 右外部(2番目の行すべて、および最初の行のうち一致するもの)
2 つのテーブル 「工数データ」 と 「作業」 の間で結合を実行します。
結果
この結合種類は、左外部とは逆方向に機能します。右テーブルのすべての行が含まれ、左テーブルと一致する行のみが含まれます。
8 行が返されました。左のテーブルから 7 行が右のテーブルと一致し、右のテーブルから追加の行が返されました。この行は 「作業」 テーブルに存在しますが、「工数データ」 テーブルにはありません。左のテーブルに一致するものがないため、「工数データ」 テーブルの列に返される値は null です。
③ 完全外部(両方の行すべて)
2 つのテーブル 「工数データ」 と 「社員」 の間で結合を実行します。
結果
10 行が返され、これは左結合と右結合の結果と一致します。
④ 内部(一致する行のみ)
2 つのテーブル 「工数データ」 と 「社員」 の間で結合を実行します。
結果
一致する行のみが残ります。null 値は表示されません。
⑤ 左反(最初の行のみ)
2 つのテーブル 「工数データ」 と 「社員」 の間で結合を実行します。
結果
左反結合では、返される行は、右テーブルに一致しない左テーブル内の行です。最初のテーブルから 7 行のうち 6 行が除外されます。
⑥ 右反(2番目の行のみ)
2 つのテーブル 「工数データ」 と 「作業」 の間で結合を実行します。
結果
最後に、右反結合を行います。左反結合と同様に、一致するすべての行が除外されますが、右側のテーブルにある行です。