データモデルが重要な理由
Power BI レポートの信頼性は、その基盤となるモデルの信頼性に左右されます。モデルがビジネス イベントを正しく表現していない場合、レポートが洗練された外観であっても、売上、受注数、利益率、顧客パフォーマンスなどが誤って表示される可能性があります。フィルターが想定どおりに伝播しなかったり、ファクト行が複数回カウントされたりすると、一見同じ質問に対して、ページごとに異なる結果が表示されることもあります。
信頼性の高いモデルは、組織全体で一貫した分析構造を構築します。各行が何を表すのか、どのテーブルがビジネス コンテキストを提供するのか、テーブルがどのように接続されるのか、どの計算が許可されるのかを定義します。たとえば、財務マネージャーと営業マネージャーが異なるビジュアルを使用しても、同じ期間の総売上は同じ値として表示されるべきです。ダッシュボードの設計を始める前に、モデルによってこの整合性を実現できるようにする必要があります。
粒度から始める: ファクトとディメンション
モデリングで最初に決めるべきことは、ファクト テーブルの粒度です。粒度とは、1 行が表すレベルのことです。売上ファクト テーブルは、請求書明細行ごと、受注ごと、または製品の日次集計ごとに 1 行を持つ場合があります。これらはそれぞれ異なる設計です。1 行が 1 件の請求書明細行を表す場合、数量、割引、原価、純売上はその請求書明細行に属します。同じ行が一意の受注や一意の顧客訪問も表すと想定してはいけません。
ファクト テーブルには、測定可能なビジネス イベントや、一定期間ごとのビジネス状態を格納します。代表例として、売上取引、出荷、在庫スナップショット、予算などがあります。ディメンション テーブルには、これらのファクトのフィルターやグループ化に使用するコンテキストを記述します。例として、Date、Product、Customer、Store、Salesperson、Region などがあります。ファクト テーブルに数値を格納し、ディメンションに説明属性を格納すると、売上レポートはより信頼しやすくなります。製品カテゴリは Product ディメンションから取得し、売上金額は Sales ファクト テーブルから取得するべきです。
よくあるビジネス上の誤りは、異なる粒度を 1 つのテーブルに混在させることです。たとえば、受注明細行ごとに 1 行を持つテーブルに、受注レベルの送料が各明細行に繰り返し含まれているとします。この送料を合計すると、1 件の受注に複数の明細行がある場合、送料が過大計上されます。正しいアプローチは、粒度を明確にし、必要に応じて異なる粒度に属するメジャーを分離し、ビジネス ルールに従って計算方法を定義することです。信頼性の高いレポート作成は、この規律から始まります。

ビジネスの実態を反映したリレーションシップを構築する
標準的なスター スキーマでは、各ディメンションがファクト テーブルに対して1対多のリレーションシップを持ちます。ディメンションには有効なビジネス エンティティごとに1行が含まれ、ファクト テーブルにはそのエンティティを参照する多数のイベントが含まれます。たとえば、1件のProductレコードは多数の売上明細に関連付けられます。ProductキーはProductディメンション内で一意である必要がありますが、同じキーはSalesファクト テーブルに何度も登場できます。この構造により、商品カテゴリのフィルターでビジュアルに使用される売上行を絞り込めます。
リレーションシップには、変更される可能性があったり重複したりする説明テキストではなく、安定したビジネス キーまたは管理されたサロゲート キーを使用する必要があります。また、商品マスターにまだ読み込まれていない商品を取引が参照している場合など、対応するキーが存在しないケースにも対応する必要があります。このような行は合計から暗黙に消えるのではなく、不明または未割り当てのメンバーを通じて意図的に処理します。多くのレポート モデルでは、フィルターは予測可能な方向でディメンションからファクトへ伝播させる必要があります。不要な双方向フィルタリングは、曖昧な経路や予期しない合計値を生む可能性があります。
多対多のリレーションシップには、さらなる検討が必要です。たとえば、1人の顧客が複数のセグメントに属する場合、1つの商品に複数のタグが付く場合、または1人の従業員が複数の地域を担当する場合に発生します。このようなケースで2つのテーブルを直接接続すると、結果が重複したり、フィルターの動作が不明確になったりする可能性があります。有効な組み合わせを含むブリッジ テーブルを使用すると、ビジネス ルールを明確に表現できます。モデルの所有者は、追加の複雑性を受け入れる前に、多対多のリレーションシップが本当に必要かどうかを確認する必要があります。
ビジネス シナリオで検証する
検証は、ビジュアルの書式設定ではなく、合意された少数のビジネス上の質問から始める必要があります。売上モデルでは、締め済み月の総売上が承認済みの財務数値と一致するか、1つの地域に絞り込んだときに期待される顧客が表示されるか、商品カテゴリ別の合計が会社全体の合計と整合するか、1つの注文に複数の商品明細が含まれる場合でも注文数が正しく維持されるかを確認します。それぞれの質問がモデルの異なる部分を検証します。
詳細レベルと集計レベルの両方の動作をテストします。詳細レベルでは、既知の取引をいくつか確認し、商品、顧客、日付、数量、金額が正しいことを確認します。集計レベルでは、月、地域、商品カテゴリ別の合計を信頼できるデータ ソースと比較します。全体の合計は正しいのに商品別の合計が過大になっている場合、ディメンション キーの重複や誤ったリレーションシップが原因である可能性があります。合計が期待値を下回る場合は、対応するキーがないデータ、日付フィルター、非アクティブなリレーションシップ、またはソース抽出ルールを調査します。
実務的なレビューでは、空白または不明なメンバーがどのように表示されるかも確認します。ソース システムの移行中であれば、少数の不明カテゴリは許容できる場合がありますが、そのカテゴリが説明なく増加している場合は、データ品質の問題を示しています。キー、リレーションシップの種類、ソース クエリ、または更新ロジックを変更した後は、検証を繰り返す必要があります。モデルは、一度テストに合格したから信頼できるのではありません。重要なビジネス シナリオについて、時間の経過後も継続的に整合性を確認できて初めて、信頼できるモデルといえます。

一貫したレポート作成のために設計する
一貫性は、共有ディメンションと明確な定義に依存します。適切に管理された単一のDateディメンションを使用して、売上、目標、在庫、その他のファクト テーブルにまたがる年、四半期、月、レポート期間の分析をサポートする必要があります。ビジネス上の意味が共通する場合は、ProductディメンションとCustomerディメンションも再利用します。同じビジネス エンティティのコピーを個別に作成すると、名前、分類、キー値に差異が生じ、異なるレポート ページで結果が一致しなくなる可能性があります。
モデルにはユーザーが理解できるビジネス フィールドを公開し、リレーションシップにのみ必要な技術フィールドは非表示にする必要があります。名前はメジャーや属性の意味が明確に伝わるものにし、モデルのドキュメントには、すべてのファクト テーブルの粒度、ソースの所有者、更新頻度、キー列、既知の制約を記録します。これらの判断により、将来のレポート作成者が、ビジネス上は注文数が必要なのに注文明細数を使用してしまうリスクを低減できます。
メジャーとフィルターは、承認された定義に従う必要があります。売上、粗利益、アクティブ顧客、納期遵守率には、それぞれ特定の算入ルールが存在する場合があります。ダッシュボード上で、各アナリストが元の列からこれらのルールを個別に再現できる状態にすべきではありません。重要な定義をセマンティック モデルに一元化することで、経営層向けレポートの一貫性が高まり、変更のガバナンスも容易になります。
長期にわたって信頼性を維持する
信頼性の高いモデルには、公開後の管理責任者が必要です。更新の失敗、新しいソース値、欠損キー、製品や顧客の構造変更、行数の予期しない変動を監視する担当者を割り当ててください。ファクト行の急増、未照合製品の減少、有効な顧客数の変化は、ソースまたは変換プロセスが変わったことを示す早期警告となる場合があります。
新しいテーブルやリレーションシップを追加する前に、それが支えるビジネス上の問いと、新たに導入する粒度を文書化してください。既存のディメンションでその問いに答えられないか、新しいテーブルによって同じエンティティ間に別の経路が生じないかを確認します。認定済みレポートに組み込む前に、代表的なフィルターと照合用の数値を使って変更をテストしてください。こうすることで、レポートのニーズが拡大してもモデルを理解しやすく保てます。
目標は、最大規模のモデルを作ることではありません。ユーザーがダッシュボードのビジュアル上の数値から、定義済みのビジネスイベントまでたどり、その数値をどのディメンションがフィルターするのかを理解し、結果が妥当である理由を把握できるモデルを作ることです。所有者が明確な小規模のスター スキーマは、緩やかにつながったテーブルを大量に集めたものより、通常は役に立ちます。
まとめ
信頼性の高い Power BI モデルの構築は、各ファクトテーブルの粒度を定めることから始まります。ファクトには測定可能なイベントや状態が含まれ、ディメンションはフィルターやグループ化に使う記述的なコンテキストを提供します。一意なディメンションキーと明確な一対多リレーションシップを備えたスター スキーマにより、ビジネスユーザーは予測可能な結果を得られ、レポートの動作も説明しやすくなります。
照合、フィルターテスト、継続的な監視を通じて、信頼性を実証する必要があります。合計値を信頼できるソースと照合し、既知のトランザクションをテストし、未照合キーを調査し、多対多のリレーションシップを一つずつ慎重に確認してください。粒度、リレーションシップ、定義、所有者が文書化されていれば、ダッシュボードは見栄えはよくても確かさに欠ける数値の集まりではなく、信頼できるビジネス上の意思決定の基盤になります。
レッスンのチェックポイント
学んだ内容を復習し、回答へのフィードバックを受けましょう。