データ(Excel)

リレーションシップのように複数テーブルを結合できる、パワークエリのマージ機能

Power Query(パワークエリ)を使って複数のテーブルを扱う際、Accessなどのようなデータベースアプリでよく使う「リレーションシップ」を設定したいと考えたことはないでしょうか。

実は、パワークエリにはリレーションシップ機能そのものは存在しません

しかし、代わりに「マージ」機能を活用することで、リレーションシップと同様に複数テーブルを結合・連携させることが可能です。

本記事では、リレーションシップとの違いや、マージ機能の正しい使い方について、具体例を交えながらわかりやすく解説していきます。

【おさらい】リレーションシップとは?

リレーションシップとは、Excelのデータモデル機能に含まれている設定で、テーブル同士を共通の項目(キー)で結び付ける仕組みです。
たとえば、「顧客マスタ」と「受注データ」の両方に含まれる「顧客ID」を使って、2つのテーブルを関連付けることができます。

このリレーションシップを使うことで、以下のようなメリットが得られます

  • マスタ情報を1か所で管理できる
  • 複数テーブルを横断した集計が可能
  • マスタ修正で全体に反映される

リレーションシップを設定することで、複数のテーブルを統合したピボットテーブル作りも可能です。


モダンExcelの2大機能として、パワークエリパワーピボットが挙げられますが、データモデルはパワーピボットを使うための土台となるものです。

もちろん、検索関数(VLOOKUPやXLOOKUP)パワークエリでも、複数のテーブルを統合することは可能です。
しかし、Excelにおけるリレーションシップ機能は、データモデル内でのみ使用可能な仕組みであると定義されています。

Excelを使ってより高度な分析や業務データの整理を行いたい方にとって、リレーションシップとデータモデルの理解は欠かせない基本知識と言えるでしょう。

パワークエリにリレーションシップ機能が無い

パワークエリに「リレーションシップ」機能が搭載されていない理由は、パワークエリ自体が「データ分析」ではなく、「データの整形・準備」に特化したツールだからです。

たとえば、以下のような処理がパワークエリの主な役割です:

  • 不要な列の削除
  • 列の結合や並べ替え
  • データのフィルタリング
  • 複数テーブルやファイルの統合

一方で、リレーションシップは分析前に複数テーブル間の関係性を定義し、柔軟な集計を可能にする機能です。
役割としては、「整形」と「分析の前準備」で明確に分かれています。

以下は、パワークエリとデータモデルの役割の違いをまとめたものです。

  • パワークエリ: データを整える(前処理)
  • データモデル: 整えたデータを分析する(関係付けと集計)

リレーションシップの代わりに使える「マージ」機能

パワークエリにはリレーションシップ機能はありませんが、「マージ(Merge)」機能を使うことで、共通のキー列に基づいて複数のテーブルを結合することができます。
これは、SQLの「JOIN」と同じ考え方です。

Accessを使ったことがある方ならイメージしやすいかもしれません。
Accessでは、リレーションシップはあくまでもデータベースの基本的な設定です。
クエリでテーブル同士を結合する時は、リレーションシップではなくJOIN文を使います。

Power Queryのマージ機能もこれとよく似ていて、リレーションシップを事前に定義するのではなく、その場で必要なテーブルを結合する処理に特化したものです。

リレーションシップ使ったテーブル間の縛りは必要ないけど、一時的にデータをつないで分析したい場面でこそ、マージが真価を発揮します。

パワークエリ「マージ」の使い方

たとえば、加工前の受注データには「顧客ID」はあるものの、「顧客名」や「地域」といった詳細情報は含まれていません。

たとえば、加工前の受注データには「顧客ID」はあるものの、「顧客名」や「地域」といった詳細情報は含まれていません。
こうしたときに役立つのが、Power Query の マージ機能です。

以下はPower Query のマージ機能の使い方です。
まずは、Power Query エディタを開き、上部リボンの「クエリのマージ」をクリックします。

すると、マージの設定ダイアログが表示されます。
上段に元のテーブル(受注データ)、下段に結合したいテーブル(顧客マスタ)を選びます。

両方のテーブルから共通の列「顧客ID」をクリックして選択します。

結合の種類は複数ありますが、ここでは内部結合を設定しました。

OK」をクリックすると、受注データに顧客マスタが結合されます。

次に、顧客マスタ横の展開アイコン(矢印)をクリックします。

表示されたチェックボックスで、追加したい項目(例:顧客名地域)にチェックを入れ、「OK」をクリックします。

これで、受注データに顧客名地域の列が追加されました。

最後に、パワークエリエディタを閉じれば、編集後のデータがワークシートにそのまま表示されます。

マージとリレーションシップの違い・注意点

Excelで複数の表を組み合わせる手法には、「関数(VLOOKUP など)」「リレーションシップ」「パワークエリのマージ」と、大きく3つの方法があります。
それぞれどんな場面で使うのがおすすめなのか、ということにもここで触れておきます。

軽いデータ量で、特定の値をサッと参照したいときにはVLOOKUPXLOOKUPが手軽です。

元データに手を加えずにパワーピボットで分析したい時は、データモデルでリレーションシップを設定するよいでしょう。

定型処理」「列の追加」「表の統合」など、分析前の整形作業にはパワークエリのマージ機能が最適です。
結合後の形を自由に加工できるのが強みです。

まとめ:パワークエリではマージを正しく使いこなそう!

ExcelやPower BIで複数の表を扱うとき、「リレーションシップをどう再現するか」は多くのユーザーが直面するテーマです。

パワークエリにはリレーションシップ機能こそありませんが、代わりに用意されているのが「マージ(Merge)」です。
マージを使えば、共通の列(キー)をもとにテーブルを結合し、分析しやすい形に前処理できます。

パワークエリのマージ機能を使いこなせば、複雑な集計やデータの自動化もぐっと効率化されます。
定番のExcel関数のみでなく、データ加工・分析を深く行うための扱う第一歩として、ぜひ活用してみてください。

スポンサードリンク

スポンサードリンク

-データ(Excel)