Power BI 利用時のパフォーマンス測定や最適化について

Published: feedback 共有

こんにちは、Power BI サポート チームの亀田です。

Power BI Service でデータ更新を行った際に、以下のエラーが発生したことはありませんか。

Resource Governing: This query uses more memory than the configured limit. The query — or calculations referenced by it — might be too memory-intensive to run. Either simplify the query or its calculations, or if using Power BI Premium, you may reach out to your capacity administrator to see if they can increase the per-query memory limit. More details: consumed memory 6369 MB, memory limit 6144 MB. See https://go.microsoft.com/fwlink/?linkid=2159752 to learn more.

こちらのエラーは、データセットの更新時にクエリあたりのメモリ上限を超過した際に発生するエラーとなります。本エラーが発生した場合、基本的には上位の SKU にアップグレードしてリソースを増強する必要がありますが、データモデルの最適化やビジュアルの修正によってエラーが解消する場合もございます。パフォーマンス改善に役立つ公開情報についてご案内いたします。

重要

本記事は弊社公式ドキュメントの公開情報を元に構成しておりますが、  

本記事編集時点と実際の機能に相違がある場合がございます。

最新情報につきましては、参考情報として記載しておりますドキュメントをご確認ください。

目次

Power BI Desktop

Power BI Desktop でのパフォーマンス測定・改善については、1) データモデルの改善、 2) パフォーマンスの測定 についてご案内します。

1.データモデルの最適化

前提としてデータモデルは、スタースキーマで構築されることが推奨されます。

処理が複雑となる場合は、 Power BI で列を追加したり、メジャーを作成したりすることや、 Power Query での加工処理を行うと、 Power BI Desktop ではクライアントのリソースを、 Power BI Service では共有リソースを使用するため、データソース側で行うことが望ましいです。 Power BI で変換を行う場合には利用しているデータモデルに応じて以下の公開情報を参照してデータモデルの最適化をご検討ください。

Power Query を使用する場合には以下のベスト プラクティスをご一読ください。

2.パフォーマンスの測定

パフォーマンス アナライザーを利用することで、レポートでどのビジュアルの表示に時間がかかっているか、またどの部分がボトルネックになっているかを確認することができます。

外部ツールとなりますが、 DAX Studio を利用することでもパフォーマンスを確認することができます。DAX Studio を利用する場合には、パフォーマンス アナライザーを利用してクエリ実行時のデータを .json ファイルとしてエクスポートし、エクスポートした .json ファイルを DAX Studio で読み込むことで、クエリの一覧を確認し、実行速度順にクエリを確認することや、また、クエリを再度実行することで DAX Studio 上でクエリの詳細を確認することができます。

3.レポート開発・参照の効率化

レポートの開発時には、 [最適化リボン] を利用することでビジュアルを追加した際のデータ更新を停止することができるため、データソースが大容量の場合であってもデータが読み込まれる時間を削減することができ、効率的な開発が可能です。

また、レポートのスライサーやフィルターが多い場合には、一度にスライサーやフィルターを適用することで、クエリの実行回数を減らすことができます。

Power BI Service

現在、プレビュー機能で Power BI Service でもデータモデルの編集が可能ですが、 Power BI Service からデータモデルを編集する場合にも Power BI Desktop で紹介したデータモデルのデータ削減方法が利用できます。

Power BI Service では、データフローを利用することでデータの加工が可能です。データフローをご利用いただいている場合には以下の公開情報をご一読ください。複数のトピックについてリンクがあります。

Power BI Premium Per Capacity (Premium 容量)

Premium 容量では、パフォーマンスをモニタリングするためのアプリがあります。アプリから時系列で容量の利用率や上限を超過しているかどうかの推移や、各アイテムのリソースの利用状況をご確認いただけます。

また、データセットの使用できるメモリの使用量上限の設定など、データセット、データフローの更新やクエリ、ページ分割されたレポートの実行、AI 機能を処理する各ワークロードの動作を制御することも可能です。

Premium 容量の P1・P2 をご利用いただいている場合で、冒頭に記載したクエリあたりの最大メモリエラーが発生している場合、Premium Per User (PPU) 試用版を利用することで、上位の SKU にアップグレードした場合にエラーが解消するかを確認することが可能です。PPU は、 Premium 容量の SKU の P3 に相当するため、試用版を利用して一度更新を実行いただき、エラーが解消する場合には SKU のアップグレードをご検討ください。

Microsoft Fabric

Microsoft Fabric についても、Premium 容量と同様にパフォーマンス測定のためのアプリがあります。Premium 容量と同様に、アプリから時系列で容量の利用率や上限を超過しているかどうかの推移や、各アイテムのリソースの利用状況をご確認いただけます。

以上、本ブログが少しでも皆さまのお役に立てますと幸いでございます。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。