このページの本文へ

FIXER cloud.config Tech Blog

Power BIで複数のテーブルを紐づける2つの方法とメリット・デメリット

2022年07月08日 10時00分更新

文● あおい/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Power BIで複数のテーブルを紐づける方法」を再編集したものです。

 こんにちは、あおいです。
 医療脱毛10回目を終えた感想。バチバチに痛い。ただ、快適度がグンと増すので、自己投資として得られるリターンがかなり大きい。

 さて、Power BIは取り込んだ複数のテーブルの情報を紐づけて、データ加工・可視化をすることが可能です。

 Power BIで複数のテーブルを紐づける場合、以下の2つの方法があります。
・Power Queryの[クエリのマージ]で結合する
・モデル画面でリレーションを設定する

 それぞれメリット・デメリットが存在するので状況に応じて、上記の2つの方法を使い分ける必要があります。

 そこで、今回は複数のテーブルを紐づける2つの方法とメリット・デメリットを紹介したいと思います。

 以下のExcelをデータソースとして、Power BIで[受注テーブル]に[商品マスタ]と[顧客マスタ]を紐づけます。

Power Queryの[クエリのマージ]で結合する場合

 [データを取得]からExcelのデータを読み込み、[受注テーブル][商品マスタ][顧客マスタ]を選択して[データの変換]を行います。

 Power Queryエディタが開くので、左側に表示されている[受注テーブル]を選択した状態で、[クエリのマージ]を選択します。

 [受注テーブル]と[商品マスタ]の[商品ID]列を選択して、[結合の種類]はデフォルトのままで[OK]を選択します。この場合、紐づけるキーが[商品ID]列になります。

 [商品マスタ]という新しい列が作成されます。こちらの列の右上のボタンを選択し、[商品名称][金額]にチェックして[OK]を選択します。

 こちらの手順で[受注テーブル]と[商品マスタ]を紐づけて、[商品名称]と[金額]の列を結合することが出来ます。[顧客マスタ]も同様の手順です。

モデル画面でリレーションを設定する場合

 [データを取得]からExcelのデータを読み込み、[受注テーブル][商品マスタ][顧客マスタ]を選択して[読み込み]を行います。Power Queryエディタでの編集はしません。

 左側の[モデル]を選択します。

 既にテーブル同士の紐づけ(リレーション)が自動的に設定されています。
 今回の場合、[受注テーブル]と[商品マスタ]は多対1、[受注テーブル]と[顧客マスタ]は多対1の関係性にあります。

 手動で紐づけ(リレーション)を設定したい場合、線を右クリックで選択して削除します。

 [商品マスタ]の[商品ID]を[受注テーブル]の[商品ID]にドラッグ&ドロップします。

 また、線を右クリックで[プロパティ]を選択することで、リレーション設定の編集が可能です。

Power Queryの[クエリのマージ]のメリット・デメリット

 メリットは1テーブルに列を結合するので視覚的に分かりやすい点ですが、デメリットは結合する列が増えるので処理速度のパフォーマンスが落ちる可能性があります。

モデル画面の[リレーション設定]のメリット・デメリット

 メリットはデータ量が多くても処理速度は比較的軽量ですが、たまに意図していないリレーションが自動的に設定されてしまうので注意が必要です。

参考記事
クエリのマージの概要 – Power Query | Microsoft Docs
Power BI Desktop でのリレーションシップの作成と管理 | Microsoft Docs

FIXER Inc. あおい
「初心者の方にも分かりやすく」をモットーにBlog執筆。米株取引とK-POPが好きです。普段はC#とSQL Serverを触ってます。

[転載元]
 Power BIで複数のテーブルを紐づける方法

カテゴリートップへ