ブログ

Power BIのリレーションとは?仕組み・作り方・設計の注意点を分かりやすく解説

#Power BI #リレーション

積極採用中
セミナー情報

Power BIで複数のテーブルを使っていると、「数値が重複して集計される」「スライサーで意図通りに絞り込めない」といったトラブルに遭遇することがあります。
その多くの原因は、リレーション(関係)設定の誤りにあります。

リレーションを正しく理解し、モデルを設計することがPower BI活用の第一歩です。
この記事では、リレーションの基本構造から設定手順、多対多・循環参照といった実務での落とし穴までを、図と例を交えてわかりやすく解説します。

リレーションの基本を理解する

リレーションとは何か

リレーションとは、「異なるテーブル間の共通項目(キー)」でデータをつなぐ設定のことです。
たとえば、以下のように「売上テーブル」と「商品マスタ」を「商品ID」で結ぶと、
商品名やカテゴリ情報を参照しながら売上を集計できるようになります。

この「共通の列(キー)」を使ってPower BIが裏でJOIN処理を行う、これがリレーションの基本的な仕組みです。

なぜリレーションが重要なのか

リレーションを適切に設計しないと、以下のような問題が発生します。

  • 売上金額が二重カウントされる
  • スライサーで絞り込んでもグラフが変化しない
  • 同じ値が複数テーブルにあり、整合性が取れない

つまり、リレーションは「分析の正確さ」と「操作の一貫性」を担保する基盤です。
モデル構造を意識せずに作ると、見た目だけのダッシュボードになってしまいます。

リレーションの構造を設計する

星型スキーマを意識する

Power BIで推奨される構造が、**星型スキーマ(Star Schema)**です。

中心に「ファクトテーブル(事実:数値データ)」、
周囲に「ディメンションテーブル(属性情報)」を配置します。

💡 ポイント

  • ファクトは「縦に長く」
  • ディメンションは「横に説明的」

に整理すると、DAX式の可読性も上がり、パフォーマンスも安定します。

フィルタ方向の考え方

リレーションには「単方向」と「双方向フィルタ」があります。

原則として、ディメンション → ファクトの単方向フィルタを使います。
双方向は便利ですが、意図しない計算結果や循環を生む原因になります。

リレーションの作成手順

モデルビューで設定する

Power BI Desktopでの手順は以下の通りです。

  1. 左メニューから「モデルビュー」を開く
  2. テーブル間の共通列をドラッグ&ドロップで接続
  3. 関係の種類(1対多、多対1)とフィルタ方向を確認

設定後、リレーションの線が表示されれば接続完了です。
線の端に「1」や「*」がついており、関係の方向を示しています。

💡 補足
データ型が異なる列(例:文字列と数値)ではリレーションを作成できません。
Power Queryで事前に「数値型」などに統一しておきましょう。

自動検出を使う際の注意

Power BIには「リレーション自動検出」機能がありますが、万能ではありません。
似た名前の列を勝手に結びつけることがあり、意図しない関係が作成されるケースがあります。

例:

  • 顧客IDと担当者IDが誤ってリンクされる
  • 商品IDと仕入IDが同じ桁数で自動接続される

自動検出を使ったあとは、モデルビューで必ず確認・整理しましょう。

 PowerBIのリレーションシップの自動検出をさせない方法はコチラの記事がオススメ
    ◆Power BIのリレーションシップの自動検出をさせない方法

複雑な関係を扱うときの工夫

多対多関係を解消する

「多対多(Many-to-Many)」の関係が残っていると、集計が正しく行われません。この場合は中間テーブルを挟むことで解決します。

💡 例:「店舗×商品」のような多対多の関係では、「販売マスタ」を中間に配置します。

中間テーブルを介すことで、1対多の関係に分解され、Power BIが正しくフィルタを伝達できるようになります。

循環参照への対策

複数のリレーションがループ構造を作ると、Power BIはどの経路を使うか判断できません。
この場合は次の方法を検討します。

  • 一方のリレーションを無効化して一時的に切る
  • DAX関数 USERELATIONSHIP を使い、必要な時だけ有効化
  • DAX関数 TREATAS を使い、論理的にリレーションを作成

このように関数で制御することで、複雑な関係も柔軟に扱えます。

リレーション設計のベストプラクティス

データ型を統一する

キーとなる列は、必ず同じデータ型に統一します。「数値型」と「文字列型」が混在していると、正しくリンクされません。
Power Queryで「データ型の変更」を使い、あらかじめ整えておくと安全です。

空白キーをなくす

NULLや空白のキーがあると、リレーションが切れて集計漏れが発生します。
Remove Blank Rows や Fill Down を使って前処理の段階で対策しましょう。

命名規則を統一する

「店舗ID」「店ID」「店舗コード」など、表記揺れがあると混乱します。

命名ルールを統一し、「テーブル名_項目名」(例:sales_store_id)のようにルール化すると管理しやすくなります。

まとめ


リレーションは、Power BIのデータモデリングの中核です。
単なる「テーブルのつなぎ方」ではなく、分析の正確性とパフォーマンスを左右する設計要素です。

  • 星型スキーマで整理する
  • フィルタ方向は単方向を基本にする
  • 多対多や循環はDAXで柔軟に対処

これらを意識するだけで、モデルは一気に安定し、「なぜ集計がずれるのか」という悩みから解放されます。
Power BIを使いこなす第一歩として、リレーションの“設計力”を磨いていきましょう。

<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら

<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ