ブログ

PowerBIが重い、動きが遅い場合にチェックすべきポイント、対応方法まとめ

BIツールでビジネスデータの分析をする場合、実績管理をタイムリーに行う必要が要望されて、導入・検討に至ることが多いと思います。
また、実績を管理する上で、ある期間の部署ごとの実績まで分析が必要となることが多いと思われます。
そこで、期間と部署の両方を紐づけていく必要があります。
期間のデータは『PowerBIドリルダウンの方法を知っていますか?』の記述の様に『calendar』テーブルを作ることで解消します。

PowerBIでの分析の準備

一方で部署のデータは、部署のマスターデータを入手することで、紐づけられますが、PowerBIは複合キーでの紐づけができないので、複合キーを結合した分析用のキーが必要になります。『Power BIのインポートとDirect Queryの違いを知っていますか?データの取りこみ方の違いを解説します!』

これらの紐づけ作業を進めていくと次第に、データ量が増加し、処理が重くなっていきます。
BIツールで分析するデータは即時性が要望されることがあります。
PowerBIは各種データベースを直接取り込むためにDirect Queryを使用する方法があります。

準備の結果としてPowerBIが重くなる

しかし、即時性を求めてPowerBIにOracleなどのデータベースデータを直接組み込んだ場合、データベースに保存されたトランザクションデータを全て取り込みます。
分析に必要な期間に関係なく、保存データ(ファイル)『保存された全ての行』を読み込んで取り込んでしまいます。
さらに、データベースの分析に必要ない項目『データ列(カラム)』まで取り込んでしまいます。

どのようにPowerBIを軽くできるか

データ数の削減のため、保存されたトランザクションデータの行・列の範囲の絞り込みをする方法をとることで、トランザクションデータの量を減らす処理を組み込むとデータが減り、処理が軽くなります。

  • Accessに一度データベースのデータ(ファイル)をODBC接続で取り込み、分析期間・分析に必要なカラムを絞る処理を組み込んでデータを少なくする。
  • 絞り込んだトランザクションデータを元に、PowerBIが取り込むデータはAccessで絞り込んだデータを取り込む。
  • これらの手法を使用して、データそのものを少なくする処理と即時性を両立させて分析用に使用していくと多少は軽いPowerBIでの分析方法となります。

    また、分析に必要な部署のマスターデータも、データベースには正規化されて保存されているので、必要に応じて複合キーを結合した分析用のキーを作成する必要があります。

    複合キーは必要に応じてドリルダウンなどの為に、作らざるを得ないと考えられます。

    通常、データベースのトランザクションデータで行方向のデータ量を決めるのは取引日などの期間がメインとなります。
    そこで、分析したい期間を決める必要が発生します。当年度だけで良いのか?昨年対比も分析したいのか?それ以前も見たいのか?
    分析期間を決めることで、データ量の行方向の削減が行われます。

    列データも同様に分析に必要な項目のみに絞り込むことになります。
    評価期間・複合キー(分析用のキー)は取り込みにあたって必要になりますので、注意が必要です。

  • 分析したい項目は金額ベースなのか?
  • 製造数量ベースなのか?
  • 不良発生率なのか?
  • それ以外にも加工条件に基づく項目を分析対象としているのか?
  • など、評価項目になるものを絞り込んで作成する必要があります。

    これらのデータ絞り込みを行・列データで行った上で、複合キーの結合(分析用のキーの作成)を行っていかないと、計算が増え、更に重くなります。

    また、PowerBIでの部署マスター・calendarテーブルとの結合はデータを絞り込んだ後のものと結合させないと、やはりデータ処理が多くなり、重くなります。

    CONTACT
    お問い合わせ

    ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

    サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

    メールお問い合わせ