Power BI Embedded のパフォーマンスのベスト プラクティスPower BI Embedded performance best practices

この記事では、アプリケーションでレポート、ダッシュボード、タイルを短時間で表示するための推奨事項を紹介しています。This article provides recommendations for faster rendering of reports, dashboards, and tiles in your application.

注意

読み込み時間は主に、レポートおよびデータ自体に関連する要素 (ビジュアル、データのサイズ、クエリと計算されるメジャーの複雑さなど) に依存していることに注意してください。Remember that loading time mainly depends on elements relevant to the report and data itself, including visuals, the size of the data, and the complexity of the queries and calculated measures. 詳細については、「Power BI のパフォーマンスのベスト プラクティス」を参照してください。For more information, see Power BI performance best practices.

ツールと SDK パッケージを更新するUpdate tools and SDK packages

ツールと SDK パッケージを最新の状態で維持します。Keep tools and SDK packages up-to-date.

  • 最新版の Power BI Desktop を常に使用してください。Always use the latest version of Power BI Desktop.

  • 最新版の Power BI クライアント SDK をインストールします。Install the latest version of the Power BI client SDK. 今後も拡張機能が追加リリースされます。折に触れて最新の状態に更新してください。We continuously release additional enhancements, so make sure to follow up from time to time.

埋め込みパラメーターEmbed parameters

powerbi.embed(element, config) メソッドは、要素と構成を受け取ります。構成パラメーターには、パフォーマンスに影響するフィールドが含まれています。The powerbi.embed(element, config) method receives an element and a config. The config parameter includes fields that have performance implications.

埋め込み URLEmbed URL

埋め込み URL を自分で生成することは避けてください。Avoid generating the embed URL yourself. その代わりに、レポートの取得ダッシュボードの取得タイルの取得 API を呼び出す方法で埋め込み URL を用意してください。Instead, make sure you get the Embed URL by calling Get reports, Get dashboards, or Get tiles API. config という名称の新しいパラメーターが URL に追加されました。これはパフォーマンス改善に使用されます。We added a new parameter to the URL called config, which is used for performance improvements.

アクセス許可Permissions

編集モードでレポートを埋め込まないのであれば、表示アクセス許可を与えます。Provide View permissions if you're not intending to embed a report in edit mode. この方法では、編集モードで使用されるコンポーネントが埋め込みコードによって初期化されることがありません。This way, embedded code doesn't initialize components, which are used in edit mode.

フィルター、ブックマーク、スライサーFilters, bookmarks, and slicers

通常、レポート ビジュアルはデータをキャッシュすることで保存されます。Usually, report visuals are saved with cached data. データのキャッシュはパフォーマンスの改善を体感させます。The cached data is used to give perceived performance. レポートでは、クエリが実行される間、キャッシュされたデータがレンダリングされます。Reports render cached data while queries are executed. フィルター、ブックマーク、またはスライサーが提供されている場合、キャッシュされたデータは関連がなく、ビジュアル クエリが終了した後でのみビジュアルはレンダリングされます。If filters, bookmarks, or slicers are provided, cached data isn't relevant and the visuals are rendered only after the visual query has ended.

同じフィルター、ブックマーク、スライサーを使用してレポートを埋め込み、パフォーマンスを向上させるには、既に適用されているフィルター、ブックマーク、スライサーと共にレポートを保存します。If you embed reports with the same filters, bookmarks, and slicers, to improve your performance, save the report with the filters, bookmarks, and slicers already applied. これにより、フィルター、ブックマーク、スライサーを含むキャッシュされたデータでレポートがレンダリングされます。This renders the report with the cached data which includes the filters, bookmarks, and slicers.

レポート間の切り替えSwitching between reports

複数のレポートを同じ iframe に埋め込む場合は、レポートごとに新しい iframe を生成しないようにします。When embedding multiple reports to the same iframe, don't generate a new iframe for each report. 代わりに、異なる構成の powerbi.embed(element, config) を使用して、新しいレポートを埋め込みます。Instead, use powerbi.embed(element, config) with a different config to embed the new report.

注意

"アプリ所有データ" のシナリオでレポートを切り替えることは、新しい埋め込みトークンを生成する必要があるため、あまり効果的ではない可能性があります。Switching between reports for an 'App owns data' scenario might not be very effective due to the necessity of generating a new embed token.

クエリ キャッシュQuery caching

Power BI Premium 容量または Power BI Embedded 容量を使用する組織では、クエリ キャッシュを利用して、データセットに関連付けられたレポートを高速化できます。Organizations with Power BI Premium capacity or Power BI Embedded capacity can take advantage of query caching to speed up reports associated with a dataset.

Power BI でのクエリ キャッシュの詳細について参照してくださいLearn more about query caching in Power BI.

事前読み込みPreload

powerbi.preload() を使用して、エンドユーザーのパフォーマンスを向上させます。Use powerbi.preload() to improve the end-user performance. メソッド powerbi.preload() によって、後でレポートを埋め込むために使用される javascript、css ファイル、およびその他の成果物がダウンロードされます。The method powerbi.preload() downloads javascript, css files, and other artifacts, which are used later to embed a report.

レポートをすぐに埋め込まない場合は、powerbi.preload() を呼び出します。Call powerbi.preload() if you're not embedding the report immediately. たとえば、Power BI の埋め込みコンテンツがホーム ページに表示されない場合は、powerbi.preload() を使って、コンテンツを埋め込むために使われる成果物のダウンロードとキャッシュを行います。For example, if the Power BI embedded content doesn't appear in the home page, use powerbi.preload() to download and cache the artifacts that are used for embedding the content.

iframe のブートストラップBootstrapping the iframe

注意

iframe をブートストラップするには、Power BI クライアント SDK バージョン 2.9 が必要です。Power BI client SDK version 2.9 is required to bootstrap the iframe.

powerbi.bootstrap(element, config) を使うと、すべての必須パラメーターが使用可能になる前に埋め込みを開始できます。powerbi.bootstrap(element, config) allows you to start embedding before all required parameters are available. ブートストラップ API により、iframe の準備と初期化が実行されます。The bootstrap API prepares and initializes the iframe. ブートストラップ API を使用する場合でも、同じ HTML 要素で powerbi.embed(element, config) を呼び出す必要があります。When using the bootstrap API, it's still required to call powerbi.embed(element, config) on the same HTML element.

たとえば、この機能のユースケースの 1 つは、iframe のブートストラップと埋め込みのバックエンド呼び出しを、並行して実行することです。For example, one of the use cases for this feature, is to run the iframe bootstrap and the back-end calls for embedding, in parallel.

ヒント

エンド ユーザーに表示される前に iframe を生成することが可能な場合は、ブートストラップ API を使います。Use the bootstrap API when it's possible to generate the iframe before it's visible to the end user.

iframe ブートストラップの詳細を参照してくださいLearn more about iframe bootstrap.

パフォーマンスの計測Measure performance

パフォーマンス イベントPerformance events

埋め込みのパフォーマンスを測定するには、次の 2 つのイベントを使用できます。To measure embedded performance, you may use two events:

  1. 読み込み完了イベント: レポートが初期化されるまでの時間 (読み込みが完了すると、Power BI のロゴが表示されなくなります)。Loaded event: The time until the report is initialized (the Power BI logo will disappear when the load is finished).
  2. レンダリング完了イベント: 実際のデータを使用して、レポートが完全にレンダリングされるまでの時間。Rendered event: The time until the report is fully rendered, using the actual data. レポートが再度レンダリングされるたびに (フィルターの適用後など) レンダリング完了イベントが発生します。The rendered event is fired each time the report is re-rendered (for example, after applying filters). レポートを計測するには、最初に発生したイベントで計算を行います。To measure a report, make sure you do the calculations on the first raised event.

使用可能な場合はキャッシュされたデータがレンダリングされますが、追加のイベントは生成されません。Cached data is rendered when available but no additional event is generated.

イベント処理の詳細を参照してくださいLearn more about event handling.

パフォーマンス アナライザーPerformance Analyzer

レポート要素のパフォーマンスを調べるには、Power BI Desktop でパフォーマンス アナライザーを使用することができます。To examine the performance of the report elements, you might use the Performance Analyzer in Power BI Desktop. パフォーマンス アナライザーを使用すると、各レポート要素のパフォーマンスを測定するログを表示および記録できます。The Performance Analyzer will allow you to see and record logs that measure how each of your report elements performs.

パフォーマンス アナライザーの詳細を参照してくださいLearn more about Performance Analyzer.

注意

常に、埋め込まれたレポートのパフォーマンスと、powerbi.com でのパフォーマンスを比較してください。Always remember to compare the embedded report performance to the performance on powerbi.com. これは、パフォーマンスの問題の原因を理解するのに役立つ可能性があります。This might help you understand the origin of your performance issues

次の手順Next steps