適用対象: Power BI Desktop
Power BI サービス
Power BI レポートでは、ビジュアルや DAX 数式などの各レポート要素がどのように実行されているかを確認できます。 パフォーマンス アナライザーを使用すると、ユーザーがレポート要素と対話するときの各レポート要素の実行方法と、パフォーマンスのどの側面が最も多い (または最もリソースが多い) かを測定するログを表示および記録できます。
Performance Analyzer は、ユーザーの操作によって開始されるすべての視覚要素の更新またはリフレッシュに必要な所要時間を検査して表示します。 また、結果を表示、ドリルダウン、またはエクスポートできるように、情報も表示されます。 Performance Analyzer は、レポートのパフォーマンスに影響を与えるビジュアルを特定し、その影響の理由を特定するのに役立ちます。
[パフォーマンス アナライザー] ウィンドウを表示する
Power BI Desktop で [最適化] リボンを選択し、[パフォーマンス アナライザー] を選択して [パフォーマンス アナライザー] ウィンドウを表示します。
Power BI サービスでレポートを開き、[編集] を選択します。 レポートを編集するときに、[ 表示 ] メニューを選択し、[ パフォーマンス アナライザー ] を選択して [パフォーマンス アナライザー] ウィンドウを表示します。
選択すると、Power BI Desktop または Power BI サービスのレポート キャンバスの右側にある独自のウィンドウに Performance Analyzer が表示されます。
Performance Analyzer を使用する
Performance Analyzer は、クエリを実行するユーザー操作の結果として開始されたレポート要素を更新するために必要な処理時間 (ビジュアルを作成または更新する時間を含む) を測定します。 たとえば、スライサーを調整するには、スライサー ビジュアルを変更し、クエリをデータ モデルに送信し、新しい設定の結果として影響を受けるビジュアルを更新する必要があります。
Performance Analyzer で記録を開始するには、[ 記録の開始] を選択します。
レポートで実行したアクションは、Power BI によってビジュアルが読み込まれる順序で、パフォーマンス アナライザー ウィンドウに表示され、ログに記録されます。 たとえば、ユーザーが更新に時間がかかると言ったレポートや、スライダーが調整されたときにレポート内の特定のビジュアルが表示されるまでに時間がかかる場合があります。 Performance Analyzer は、どのビジュアルが原因であるかを確認し、処理に最も時間がかかっているビジュアルの側面を特定できます。
記録を開始すると、[ 記録の開始 ] ボタンが淡色表示され (記録を開始しているため非アクティブ)、[ 停止 ] ボタンがアクティブになります。
Performance Analyzer は、パフォーマンス測定情報をリアルタイムで収集して表示します。 ビジュアルを選択したり、スライサーを移動したり、他の方法で対話したりするたびに、パフォーマンス アナライザーはそのウィンドウにパフォーマンスの結果をすぐに表示します。
ウィンドウに表示できる以上の情報がある場合は、スクロール バーが表示され、追加情報に移動します。
各操作には、ログ エントリを開始したアクションを説明するセクション識別子がペインに含まれます。 次の図では、ユーザーがスライサーを変更する操作を行いました。
各ビジュアルのログ情報には、次のカテゴリのタスクを完了するために費やされた時間 (期間) が含まれます。
- DAX クエリ - DAX クエリが必要な場合、これは、ビジュアルがクエリを送信してから、結果を返すセマンティック モデルまたは Analysis Services モデルの間の時間です。
- 直接クエリ - テーブル ストレージ モードが DirectQuery の場合、これは外部クエリが結果を返す時刻です。
- ビジュアル表示 - これは、Web イメージやジオコーディングを取得するために必要な時間を含め、ビジュアルが画面に描画するために必要な時間です。
- その他 - これは、クエリの準備、他のビジュアルの完了の待機、または他のバックグラウンド処理の実行にビジュアルで必要な時間です。
- 評価されたパラメーター (プレビュー) - ビジュアル内のフィールド パラメーターの評価に費やされた時間です。 フィールド パラメーター (プレビュー) の詳細を確認します。
Duration (ms) の値は、各操作の開始タイムスタンプと終了タイムスタンプの差を示します。 ほとんどのキャンバス操作とビジュアル操作は、複数の操作で共有される 1 つのユーザー インターフェイス スレッドで順番に実行されます。 報告される期間には、他の操作が完了している間にキューに登録された時間が含まれます。 GitHub の Performance Analyzer サンプル とそれに関連する ドキュメント では、ビジュアルによるデータのクエリとレンダリング方法に関する詳細が提供されています。
Performance Analyzer を使用して測定するレポートの要素を操作したら、[ 停止 ] ボタンを選択できます。 [ 停止 ] を選択して分析した後も、パフォーマンス情報はウィンドウに残ります。
[パフォーマンス アナライザー] ウィンドウで情報を消去するには、[ クリア] を選択します。 すべての情報は消去され、[ クリア] を選択しても保存されません。 ログに情報を保存する方法については、次のセクションを参照してください。
ヒント
Power BI がクエリとそれに関連付けられているメタデータを処理する場合、クエリの処理は、スキーマの複雑さ、データベース内のテーブルの数、それらの間のリレーションシップの複雑さ、およびテーブルに対する外部キー制約の数によって影響を受ける可能性があります。 このような複雑さは、レポートの取得または表示に最初の遅延が発生する可能性があります。
ビジュアルでの DAX クエリ
Power BI レポートのビジュアルには、セマンティック モデルのデータが表示されます。 データには DAX クエリを使用してアクセスします。 パフォーマンス アナライザーで [クエリのコピー] を選択すると、各ビジュアルの DAX クエリ を確認できます。 DirectQuery テーブル ストレージ モードを使用するテーブルの場合、このクエリには、DAX クエリと SQL または KQL の変換されたクエリが含まれます。
パフォーマンス アナライザーの DAX クエリ ビューで実行すると、DAX クエリ ビューで DAX クエリが実行されます。 結果グリッドには、ビジュアルで使用されるデータが表示され、DAX クエリ自体のロジックを調べることができます。 このオプションは Power BI サービスでは使用できませんが、コピーした DAX クエリは、サービスの DAX クエリ ビューに移動し、DAX クエリに貼り付けた後に実行できます。
ビジュアルからの DAX クエリの構造は、同じ結果を得るために必要以上に詳細で構造化されています。 ビジュアル DAX クエリ構造は、レポートの作成時にビジュアルを 1 つの型から別の型に変更するときに役立ちます。 DAX クエリ ビューで DAX クエリを記述して説明する Fabric Copilot は、次のプロンプトを使用して、ビジュアル DAX クエリを簡単な形式に構造化するのに役立ちます。
Remove the VARs and TOPN and simplify this DAX query
Copilot では AI を利用しているため、想定外のことや間違いが起こる可能性があります。 詳細については、「Copilot の一般的な使用に関する FAQ」を参照してください。
DAX クエリの詳細については、DAX クエリの学習ドキュメントを参照してください。
ビジュアルの更新
[パフォーマンス アナライザー] ウィンドウで [ ビジュアルの更新 ] を選択すると、レポートの現在のページにあるすべてのビジュアルを更新し、そのようなすべてのビジュアルに関する情報を Performance Analyzer で収集できます。
個々のビジュアルを更新することもできます。 Performance Analyzer が記録されている場合は、各ビジュアルの右上隅にある [ このビジュアルの分析] を選択して、そのビジュアルを更新し、そのパフォーマンス情報をキャプチャできます。
パフォーマンス情報を保存する
[ エクスポート ] ボタンを選択すると、Performance Analyzer によってレポートに関して作成される情報を保存できます。 [エクスポート] を選択すると、[パフォーマンス アナライザー] ウィンドウの情報を含む .json ファイルが作成されます。
関連コンテンツ
Power BI Desktop の詳細と使用を開始する方法については、次の記事を参照してください。
- Power BI Desktop とは何ですか?
- Power BI Desktop でのクエリの概要
- DAX クエリ
- DAX クエリ ビュー
- DAX クエリの記述と説明を行う Fabric Copilot
Performance Analyzer サンプルの詳細については、次のリソースを参照してください。