power-bi-performance-troubleshooting は何をしますか?
Power BI のパフォーマンス問題を特定、診断、解決するための体系的なトラブルシューティングプロンプトです。Power BI モデル、レポート、クエリのパフォーマンス問題に対応します。
使用方法
このスキルは、Power BI のパフォーマンス問題が発生した際に、以下の手順に従って問題を解決するためのガイドを提供します。
- 問題の特定: ユーザーが直面している具体的なパフォーマンス問題(例:レポートの読み込みが遅い、DAX クエリが遅い、ビジュアルのレンダリングが遅いなど)を明確にします。
- 診断: 問題の原因を特定するための診断手順を実行します。例えば、パフォーマンスアナライザーを使用してクエリの実行時間を確認したり、DAX Studio を使用してクエリプランを分析したりします。
- 解決策の提案: 診断結果に基づいて、具体的な解決策を提案します。例えば、データモデルの最適化(テーブル結合の削減、列の削除、集計テーブルの作成など)、DAX クエリの最適化(CALCULATE 関数の適切な使用、フィルターコンテキストの最適化など)、レポートの設定変更(ビジュアルの削減、ページの分割など)が含まれます。
サポート対象
- Power BI Desktop: ローカル環境でのパフォーマンス問題の診断と解決に使用できます。
- Power BI Service: クラウド環境でのパフォーマンス問題の診断と解決に使用できます。
前提条件
- Power BI Desktop がインストールされていること。
- DAX Studio やパフォーマンスアナライザーなどの診断ツールにアクセスできること。
- Power BI Service の管理権限(必要な場合)。
トラブルシューティングの流れ
ステップ 1: 問題の特定
- ユーザーから問題の詳細を収集します(例:特定のレポート、ページ、ビジュアル、クエリ)。
- 問題の発生タイミング(例:初回読み込み時、フィルター変更時、データ更新後)を特定します。
ステップ 2: 診断
- パフォーマンスアナライザーを使用して、各ビジュアルのクエリ時間、レンダリング時間、その他のメトリクスを記録します。
- DAX Studio を使用して、遅いクエリを特定し、クエリプランを分析します。
- Power BI Service の監査ログや診断ログを確認します。
ステップ 3: 解決策の提案
- データモデルの最適化:
- 不要な列やテーブルを削除します。
- リレーションシップを適切に設定します(特に多対多のリレーションシップがパフォーマンスに与える影響に注意)。
- 集計テーブルを作成して、大量データの集計を高速化します。
- DAX クエリの最適化:
- CALCULATE 関数の使用を最小限に抑えます。
- FILTER 関数の代わりに CALCULATETABLE 関数を使用するなど、効率的なフィルター処理を実装します。
- 変数(VAR)を使用してクエリの読みやすさとパフォーマンスを向上させます。
- レポートの設定変更:
- 1ページあたりのビジュアル数を減らします。
- ページを分割して、ユーザーが必要な情報のみを読み込むようにします。
- ビジュアルのインタラクション制限(例:クロスフィルタリングを無効にする)を設定します。
例
問題: レポートの読み込みに時間がかかる
診断:
- パフォーマンスアナライザーを開き、レポートの各ビジュアルの読み込み時間を確認します。
- 最も時間がかかっているビジュアルを特定します。
解決策:
- そのビジュアルで使用されている DAX メジャーを最適化します。
- 不要なビジュアルを削除するか、別のページに移動します。
- フィルター条件を見直し、必要なデータのみを取得するようにします。
注意点
- パフォーマンス問題の診断には、適切なツール(DAX Studio、パフォーマンスアナライザー)を使用してください。
- 解決策を適用する前に、必ずバックアップを取るか、テスト環境で検証してください。
- 問題が複雑な場合は、Microsoft の公式ドキュメントやコミュニティフォーラムを参考にしてください。