内部結合
Power Query の [マージ] ダイアログ ボックスで使用できる結合の種類として 内部結合 があります。これは、左右両方のテーブルの一致する行のみを結合するものです。 詳細情報: マージ操作の概要に関するページ
図の左側には、Date、CountryID、Units の列を含むテーブルがあります。 強調表示された CountryID 列の行 1 と行 2 には値 1、行 3 には値 3、行 4 には値 2 があります。 右側のテーブルには、ID 列と Country 列が含まれています。 強調表示された ID 列には、行 1 に 3 (パナマを示す)、行 2 に 4 (スペインを示す) の値が含まれています。 最初の 2 つのテーブルの下のテーブルには、Date、CountryID、Units、Country の列が含まれていますが、Panama のデータ行は 1 つのみです。
この記事では、サンプル データを使用して、内部結合でマージ操作を実行する方法を示します。 この例のサンプル ソース テーブルは、次のとおりです。
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] を選択します。
ヒント
ダイアログ ボックスの下部にある「選択内容は、最初のテーブルの 1 行のうち 4 行と、2 番目のテーブルの 2 行のうち 1 行に一致します。」というメッセージをよく見てください。このメッセージは、この操作から得られる結果を理解するために非常に重要です。
Sales テーブルには、CountryID 1 と 2 がありますが、それら値のいずれも Countries テーブルには見つかりません。 そのため、左 (最初の) テーブルでは 4 行中 1 行のみが一致します。
Countries テーブルでは、Country Spain で id は 4 ですが、Sales テーブルには CountryID 4 のレコードはありません。 そのため、右 (2 番目の) テーブルでは 2 行中 1 行のみが一致しました。
新しく作成した Countries 列から Country フィールドを展開します。 [元の列名をプレフィックスとして使用します] チェック ボックスをオンにしないでください。
この操作を実行すると、次の図のようなテーブルが作成されます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示