PowerBIが重い、動きが遅い場合にチェックすべきポイント、対応方法まとめ
BIツールでビジネスデータの分析をする場合、実績管理をタイムリーに行う必要が要望されて、導入・検討に至ることが多いと思います。
また、実績を管理する上で、ある期間の部署ごとの実績まで分析が必要となることが多いと思われます。
そこで、期間と部署の両方を紐づけていく必要があります。
期間のデータは『PowerBIドリルダウンの方法を知っていますか?』の記述の様に『calendar』テーブルを作ることで解消します。
PowerBIでの分析の準備
一方で部署のデータは、部署のマスターデータを入手することで、紐づけられますが、PowerBIは複合キーでの紐づけができないので、複合キーを結合した分析用のキーが必要になります。『Power BIのインポートとDirect Queryの違いを知っていますか?データの取りこみ方の違いを解説します!』
これらの紐づけ作業を進めていくと次第に、データ量が増加し、処理が重くなっていきます。
BIツールで分析するデータは即時性が要望されることがあります。
PowerBIは各種データベースを直接取り込むためにDirect Queryを使用する方法があります。
準備の結果としてPowerBIが重くなる
しかし、即時性を求めてPowerBIにOracleなどのデータベースデータを直接組み込んだ場合、データベースに保存されたトランザクションデータを全て取り込みます。
分析に必要な期間に関係なく、保存データ(ファイル)『保存された全ての行』を読み込んで取り込んでしまいます。
さらに、データベースの分析に必要ない項目『データ列(カラム)』まで取り込んでしまいます。
どのようにPowerBIを軽くできるか
データ数の削減のため、保存されたトランザクションデータの行・列の範囲の絞り込みをする方法をとることで、トランザクションデータの量を減らす処理を組み込むとデータが減り、処理が軽くなります。
これらの手法を使用して、データそのものを少なくする処理と即時性を両立させて分析用に使用していくと多少は軽いPowerBIでの分析方法となります。
また、分析に必要な部署のマスターデータも、データベースには正規化されて保存されているので、必要に応じて複合キーを結合した分析用のキーを作成する必要があります。
複合キーは必要に応じてドリルダウンなどの為に、作らざるを得ないと考えられます。
通常、データベースのトランザクションデータで行方向のデータ量を決めるのは取引日などの期間がメインとなります。
そこで、分析したい期間を決める必要が発生します。当年度だけで良いのか?昨年対比も分析したいのか?それ以前も見たいのか?
分析期間を決めることで、データ量の行方向の削減が行われます。
列データも同様に分析に必要な項目のみに絞り込むことになります。
評価期間・複合キー(分析用のキー)は取り込みにあたって必要になりますので、注意が必要です。
など、評価項目になるものを絞り込んで作成する必要があります。
これらのデータ絞り込みを行・列データで行った上で、複合キーの結合(分析用のキーの作成)を行っていかないと、計算が増え、更に重くなります。
また、PowerBIでの部署マスター・calendarテーブルとの結合はデータを絞り込んだ後のものと結合させないと、やはりデータ処理が多くなり、重くなります。
投稿者プロフィール
- PowerBI、TableauなどのBIツールの導入を支援するフロッグウェル株式会社のシニアコンサルタント。データ分析基盤設計やデータモデル・レポート設計、運用コンサルティングなど、多岐にわたるサポートを経験。
最新の投稿
BI・Tableau2023年11月30日Tableauのコンテキストフィルターとは?活用ノウハウを徹底解説!
BI・Tableau2023年11月23日TableauとMarketing Cloudのデータを連携させる方法を解説
Power BI2023年11月16日Power BIでのカレンダーテーブル改造:次のステップへ
Power BI2023年11月9日初心者のためのPower BIレポート作成ガイド:ステップバイステップの視覚的チュートリアル