Power BI Desktopを使って遅くていらいらしたことはないでしょうか?
作った当初はよかったもののだんだんと遅くなってきたという人も多いと思います。
Webですとアクセスが1秒から3秒になるとページを見ないで帰る人が32%増加します。
6秒になると106%も増加します。
Power BIも同じ用にスピードは満足度に大きく影響しますので、この記事が改善に役立つと幸いです。
簡易チェックリスト
すぐにチェックしたい方へのリストです。
次になぜその項目をチェックするかについて説明していきます。
やみくもにチェックをしても効果は低いです。
次の章の説明を先に読むのがおすすめです。
- Power BIのレポートを複数開いてないか?
- Power BIのバージョンは最新か?
- Power BIのファイルサイズは小さいか?
- 元のデータファイル(Excel)のサイズは小さいか?
- 未使用の項目が元ファイルにないかどうか?
- 利用するデータレベルで元データが集計されているか?
- 元のデータには素早くアクセスできる場所に保存してあるか?
- 使っていない日付データはないかどうか?
- データ取り込み時のデータ変換が複雑でないか?
- DAX関数に問題はないか?
- カスタムビジュアルに問題ないか?
動作改善のための全体像把握
スピードを改善する時はどの処理が遅いか場所を特定します。
データの取込みに1分。フラフの表示に5秒。だった場合グラフの表示をいくら見直しても効果がでないためです。
大きく分けてこの3つの問題に特定されます。
- Power BIのアプリケーションそのものの問題
- データを取込む過程の問題
- 取込んだデータを変換する過程の問題
Power BIのアプリケーションそのものの問題
Power BI Desktopは分析ツールなので、使うためには性能がいいPCをおすすめです。
Power BIのレポートを複数開いてないか?
Power BIはメモリを多く使用します。
1つのレポートを使うのに1G使い、2つのレポートは2G使います。
上の図は3つのレポートを開いた時のメモリの使用量です。3G使用しています。
開いたレポートの倍数分だけメモリを使うので注意してください。
使う時は1つのレポートのみと考えて使ったほうがいいです。
Power BIのバージョンは最新か?
Power BIは毎月バージョンアップします。
パフォーマンス向上の変更もされますので、常に最新版を使うようにしてください。
データを取込む過程の問題
パフォーマンスの問題はデータ量に関係することが多いです。
データを少なくするのが一番確実な解決方法です
元データのサイズは小さいか?
分析用のレポートか参照専門のレポートかで違いますが、参照のみの場合は思い切って元データを少なくすることをおすすめします。
- 未使用の備考を削除
使用していない項目を削除してデータを減らします - 月単位に集計
データは日次単位ですが、レポート上では月単位でしかない場合月単位のデータを用意することをおすすめします。
元のデータには素早くアクセスできる場所に保存してあるか?
Power BI上で「更新」を実行すると、Power BIは元のデータにアクセスします。
100MのExcelでしたら100Mの転送をします。
自分のPCでしたらいいですが、ネットワークドライブですとかデータベースへのアクセスが遅いと問題となります。
Microsoft Storeからインストールした場合は自動バージョンアップするので、メンテナンスは必要ありません。
*もしわからない場合はインストールの記事を参照してください。
使っていない日付データはないかどうか?
これは私が効果を実感できていないので優先順位が低い対応です。
Power BIは日付型のデータがあると裏でカレンダーテーブルを作成します。
年、月、四半期といった階層データを自動でつくる機能です。
この自動作成をなくすことでパフォーマンスをあげます
オペレーション
- 「ファイル」を選択
- 「オプション」と設定を選択
- データの読み込み
- 「自動の日付/時刻」のチェックを外す
データ取り込み時のデータ変換が複雑でないか?
Power Query内の処理が複雑かどうか確認します。
自分でPower Queryを編集していなければ確認は不要です。
取込んだデータを変換する過程の問題
Power BIにはパフォーマンス分析の機能があります。
その画面で遅くなっている処理を探して修正します。
操作
- 「表示」を選択
- 「パフォーマンスアナライザー」を選択
- 「記録の開始」をクリック
記録を開始すると操作時の処理時間がわかります - 「ビジュアルを更新」をクリック
全部のグラフが更新されます - 詳細確認
下に各処理でかかった時間がでます。
数字の単位はミリ秒です
パフォーマンスの詳細
DAXクエリ | 計算式にかかった時間です。 この処理時間の改善がメイン作業です |
直接クエリ | データベースに直接接続するDirect Queryを選択したときに表示されます。 データベースに接続してデータが返ってくるまでの時間です。 |
ビジュアルの表示 | グラフの表示にかかった時間です。 カスタムビジュアルを使っている場合は確認します。 |
その他 | その他 |
上級者向け
DAXクエリを頻繁に使う方は専門のツールのDax Studioを使うと便利です。Dax Studio内により詳細のクエリの分析機能があります。
まとめ
Power BIが重くなる理由をリストアップしました。
- Power BIのアプリケーションそのものの問題
- データを取込む過程の問題
- 取込んだデータを変換する過程の問題
のスッテプに大きく分けてどこが遅くなっているかまず確認します。
私の経験上効果があるのは
- パフォーマンス分析の機能を使って遅くなっているDAX関数を確認
- 元のデータのサイズを小さくする
です。パフォーマンス改善をして快適にPower BIを使ってください。