変更要約: 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 は計測ツールで自動修正はしない。
④粒度を下げすぎると必要な分析ができなくなる。
2.3.3この節のまとめ
- 列指向圧縮ゆえ不要な(高カーディナリティ)列の削除が最も効く
- 粒度の低減/事前集計で行数を減らしモデルを軽くする
- Performance Analyzer/DAX query view で遅いビジュアル/メジャーを特定
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Import モデルのサイズ削減に最も効果的なのはどれですか?
Q2. 明細レベルの巨大ファクトを、必要なのは日次集計だけと判明した。最適な最適化はどれですか?
Q3. レポートページ上でどのビジュアルとメジャーが遅いかを計測したい。最適なツールはどれですか?
Q4. 遅いメジャーの原因を、実際の DAX クエリを実行/調整して切り分けたい。最適なのはどれですか?
Q5. VertiPaq の圧縮を最も妨げ、モデルを大きくしやすい列の特徴はどれですか?

