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