Instiq
第2章 · データのモデリング·v1.0.0·更新 2026/6/29·読了目安 約12分

変更要約: PL-300 第2章を新規作成(ドメイン: データのモデリング)。データモデルの設計(スタースキーマ・テーブル/列プロパティ・ロールプレイングディメンション・カーディナリティ/クロスフィルター方向・日付テーブル・計算列/計算テーブル)、DAX による計算(メジャーvs計算列・CALCULATE・タイムインテリジェンス・準加法・クイックメジャー・計算グループ)、モデル性能の最適化(不要な行/列の削除・Performance Analyzer/DAX query view・粒度の低減)。

2.3モデル性能の最適化

この節の要点

不要な行/列の削除、Performance Analyzer と DAX query view による遅い要素の特定、粒度の低減によるモデル最適化を理解します。

大きく遅いモデルは体験を損ねます。不要を削り遅い要素を特定し、粒度を下げる のが最適化の王道です。

2.3.1不要な行/列の削除と粒度

Power BI の Import(VertiPaq)は 列指向 で圧縮するため、不要な列の削除 がサイズと性能に最も効きます(特に 高カーディナリティ列=一意値が多い列)。使わない行も削ります。さらに 粒度を下げる(例: 明細を日次集計へ)と、行数が激減してモデルが軽くなります。必要な分析の粒度を見極めて事前集計します。

2.3.2遅い要素の特定

Performance Analyzer はレポートページ上の各ビジュアルの DAX クエリ時間/視覚化時間 を計測し、遅いビジュアルやメジャーを特定します。DAX query view では実際の DAX クエリを実行/調整して原因を切り分けられます。これらで 遅いメジャー/リレーションシップ/ビジュアル を見つけ、書き換えやモデル改善につなげます。

試験ポイント

決め手:「サイズ/性能に最も効く」=不要な(特に高カーディナリティ)列の削除。「行数を減らす」=粒度の低減/事前集計。「どのビジュアル/メジャーが遅いか計測」=Performance Analyzer。「DAX を実行して調整」=DAX query view。

注意

混同に注意:
①列の削除が行の削除よりサイズ削減に効く(列指向圧縮)。
②高カーディナリティ列が圧縮を妨げる。
③Performance Analyzer は計測ツールで自動修正はしない。
④粒度を下げすぎると必要な分析ができなくなる。

VertiPaq は列指向圧縮のため不要な(特に高カーディナリティの)列の削除がサイズ削減に最も効く。粒度の低減/事前集計で行数を減らし、Performance Analyzer でページ上の遅いビジュアル/メジャーを計測、DAX query view で DAX を実行/調整して原因を切り分ける図。
削って・測って・直す

2.3.3この節のまとめ

  • 列指向圧縮ゆえ不要な(高カーディナリティ)列の削除が最も効く
  • 粒度の低減/事前集計で行数を減らしモデルを軽くする
  • Performance Analyzer/DAX query view で遅いビジュアル/メジャーを特定

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. Import モデルのサイズ削減に最も効果的なのはどれですか?

Q2. 明細レベルの巨大ファクトを、必要なのは日次集計だけと判明した。最適な最適化はどれですか?

Q3. レポートページ上でどのビジュアルとメジャーが遅いかを計測したい。最適なツールはどれですか?

Q4. 遅いメジャーの原因を、実際の DAX クエリを実行/調整して切り分けたい。最適なのはどれですか?

Q5. VertiPaq の圧縮を最も妨げ、モデルを大きくしやすい列の特徴はどれですか?

理解度を確認第2章「データのモデリング」の問題を解く