マージするときは、通常、Excel 内または外部データ ソースから 2 つのクエリを結合します。 さらに、マージ機能には、2 つの関連テーブルを簡単に結合するのに役立つ直感的なユーザー インターフェイスがあります。 注文の詳細クエリからの売上合計を製品テーブルにマージする例については、 複数のデータ ソースを結合する方法に関するチュートリアルを参照してください。
注意: [プライバシー レベル] を設定すると、個人または組織が所有する複数のデータ ソースのデータが、不注意で結合されることがなくなります。 クエリによっては、ユーザーが個人的なデータ ソースから悪意のある別のデータ ソースに不注意でデータを送信する可能性があります。 Power Query では、各データ ソースが分析され、定義済みのプライバシー レベル (公開、組織、非公開) に分類されます。 プライバシー レベルの詳細については、「 プライバシー レベルを設定する」を参照してください。
マージ クエリは、2 つの既存のクエリから新しいクエリを作成します。 1 つのクエリ結果には、プライマリ テーブルのすべての列が含まれます。1 つの列は、セカンダリ テーブルとのリレーションシップを含む 1 つの列として機能します。 共通する列の値に基づいて、プライマリ テーブルから取得された各行が照合され、関連テーブルには、条件が合うすべての行が含まれます。 配置の操作では、関連テーブルから取得された列がプライマリ テーブルに追加されます。
マージ操作には、次の 2 種類があります。
-
インライン マージ 最終的な結果に到達するまで、既存のクエリにデータをマージします。 結果は、現在のクエリの終了時に新しいステップになります。
-
中間マージ マージ操作ごとに新しいクエリを作成します。
[クエリの依存関係] ダイアログ ボックスでリレーションシップの視覚的な表現を表示するには、[ クエリの依存関係> 表示 ] を選択 します。 ダイアログ ボックスの下部にある [レイアウト ] コマンドを選択して、ダイアグラムの向きを制御します。
結合操作で一致する列が少なくとも 1 つ以上ある、マージ可能なクエリが少なくとも 2 つ必要です。 これらは、さまざまな種類の外部データ ソースから取得できます。 次の例では、Products と Total Sales を使用します。
-
クエリを開くには、Power Query エディターから以前に読み込まれたクエリを見つけ、データ内のセルを選択し、[クエリ ]> [編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
-
[ ホーム ]> [クエリのマージ] を選択します。 既定のアクションは、インライン マージを実行することです。 中間マージを実行するには、コマンドの横にある矢印を選択し、[クエリのマージ] を [新規] として選択します。
[ マージ ] ダイアログ ボックスが表示されます。 -
最初のドロップダウン リストからプライマリ テーブルを選択し、列ヘッダーを選択して結合列を選択します。
-
次のドロップダウン リストから関連するテーブルを選択し、列ヘッダーを選択して一致する列を選択します。
プライマリ テーブルと関連テーブルまたはセカンダリ テーブルのプレビューで一致する列の数が同じであることを確認します。 列の比較は、各テーブルの選択順序に基づいています。 一致する列は、 Text や Number などの同じデータ型である必要があります。 複数の列を選択してマージすることもできます。 -
プライマリ テーブルと関連テーブルから列を選択した後、Power Query行の上位セットからの一致の数が表示されます。 このアクションは、 マージ 操作が正しかったかどうか、または必要な結果を取得するために変更を加える必要があるかどうかを検証します。 別のテーブルまたは列を選択できます。
-
既定の結合操作は内部結合ですが、[ 結合の種類 ] ドロップダウン リストから次の種類の結合操作を選択できます。
内部結合 プライマリ テーブルと関連テーブルの両方から一致する行のみを取り込みます。
左外部結合 プライマリ テーブルのすべての行を保持し、関連するテーブルから一致する行を取り込みます。 右外部結合 関連テーブルのすべての行を保持し、プライマリ テーブルから一致する行を取り込みます。 完全な外側 プライマリ テーブルと関連テーブルの両方からすべての行を取り込みます。 左の反結合 関連するテーブルの行が一致しないプライマリ テーブルの行のみを取り込みます。 右反結合 プライマリ テーブルの一致する行がない関連テーブルの行のみを取り込みます。 クロス結合 プライマリ テーブルの各行と関連テーブルの各行を組み合わせることで、両方のテーブルの行のデカルト積を返します。 -
あいまい一致を行う場合は、[あいまい一致を使用してマージを実行する] を選択し、[ あいまい一致] オプションから選択します。 詳細については、「 あいまい一致を作成する」を参照してください。
-
関連するテーブルに一致するプライマリ テーブルの行のみを含める場合は、[ 一致する行のみを含める] を選択します。 それ以外の場合、プライマリ テーブルのすべての行が結果のクエリに含まれます。
-
[OK] を選択します。
結果
マージ操作の後、Table 構造化列を展開して、関連するテーブルからプライマリ テーブルに列を追加できます。 列がプライマリ テーブルに展開されたら、フィルターの適用やその他の変換操作を実行できます。 詳細については、「 リスト、レコード、またはテーブルの構造化列を操作する」を参照してください。
-
[データ プレビュー] で、[NewColumn] 列ヘッダーの横にある [ 展開 ] アイコンを選択します。
-
[ 展開 ] ドロップダウン ボックスで、目的の結果を表示する列を選択または選択解除します。 列の値を集計するには、[集計] を選択 します。
-
新しい列の名前を変更することもできます。 詳細については、「 列の名前を変更する」を参照してください。