テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)

PBI Explorerの使い方

約1ヵ月前ちょっと前でしょうか、PBI Explorerという新しいツールが登場しました。Power BIのレポートを分析するのに役立つ非常に面白いツールですので、今回はこちらを紹介したいと思います(ちょっと感動する機能も後半に入っています)。

PBI Explorerとは

PBI ExplorerTabular Editorの開発者であるDaniel Otykier氏とpbi-toolsの開発者であり、Power BI DataOps, CI/CD等で有名なMathias Thierbach氏等のPoower BIコミュニティメンバーによって開発されました。

  • PBI Explorerの特徴
    • Power BIレポートを分析するためにフォーカスしたツール
    • Power BIを使う人であれば誰でも無料で使用可能
    • 参照可能なファイルの種類はpbix、pbit、pbipの3つ
    • pbix等を開かなくても良く、PBI Explorerは各種ファイルのメタデータ情報を取得するため、分析結果が一瞬で可視化される
    • Read-onlyで提供される(レポートのJSONメタデータに対する書き戻しはMicrosoftによる公式なサポートがないため)
    • 現時点の主な機能

      • Inspect report(レポートの調査)
      • Compare report(レポート同士の比較)
      • Analyze report(Report作成に関するBest Practicesを参考としたアドバイス
      • Guided tour(ガイド付き使用方法ですが、現在作成中)
    • 分かりやすい可視化機能に加え、レポートに関するプロパティ等、コードファーストにレポート情報を取得可能
    • セマンティック モデルがPower BIレポートでどのように使用されているかを理解可能
    • ブックマークやフィルター等、通常では分かりにくい機能までも説明してくれる
    • ライブ接続等、Power BIにデータがインポートされていないレポートでもレイアウトやレポートの各種プロパティを取得できる
    • 現時点、エクスポート機能は搭載されていないが、将来的にはTabular Editorで使用するDAXスクリプトのような機能を何らかの形で提供するかもしれない
    • PBI Explorerで現時点ではサポートされていないが、ブックマークをリバースエンジニアリングできる機能に今後投資していく予定。ただ、ここでのチャレンジは(かなり複雑になる可能性がある)ブックマークの定義をどのようにUIにて表現するかとなる

PBI Explorerは無料のツールですので、Power BIを利用するすべてのユーザーが利用可能です。ただし、2023年11月現在、これはベータ版となっており、利用者からのフィードバックが非常に重要です。

ダウンロード&外部ツールへの登録

PBI Explorerの特徴は前述の通りですが、まずは以下のサイトよりダウンロードする必要があります。

一番下へスクロールし、メールアドレスを提示しても良い場合はEmail addressを入力してDownload、そうでない場合はKeep me...の✅をOFFにしてDownloadをクリックします。

ダウンロード後、フォルダへ解凍し、以下のようにPbiExplorerをクリックすればアプリケーションを立ち上げることができます(インストール不要)。

なお、解凍済フォルダ内にBPARules.jsonが入っていますが、PBI Explorerの中には

Power BIレポートに関するBPA(Best Practice Analyzer)ルール

が織り込まれており、以前紹介したBPAルール(こちらはデータモデリングBPA)と同じjson形式で保存されています。BPAルールに抵触すると、上述したAnalyze reportにて各種ルールに沿ってフラグを立ててくれます(後述)。

ここで、以下のように、Power BI Desktopから外部ツールとして登録しておきます。

外部ツールの登録方法は下記をご参考ください。
marshal115.hatenablog.com

レポートを分析する

Summary

ここまで進めば、いよいよPBI Explorerの凄さを試すことができますので、まずは既に作成したPower BIレポートを立ち上げます。ここではDemo_RetailとDemo_Retail_02の2つのpbixを比較していきます。なお、この2つのファイルは開いてなくても大丈夫で、空のpbixからPBI Explorerを開いてもOKです。

Power BI Desktopの画部ツールからPBI Explorerを立ち上げると、以下のような画面になります。

通常、他の外部ツールはPower BI Desktopから開くと、その際に開いているpbixファイルを既定のファイルとして取り扱い、追加の操作を行っていきます。しかし、残念ながらPBI Explorerでは、アプリを立ち上げる段階までにとどまります。

この状態ではまだファイルを指定していませんので、①のInspect reportをクリックしても、中身が何もありません。

ここで、左上にあるフォルダアイコンをクリックし、対象となるレポートを指定します。

Demo_Retail.pbixを指定すると、以下のように、当該pbixに対するオーバービューを見ることができます。

上記を見ると、以下の項目が記述されています。

  • Pages
    ページ数及びページ別に最もビジュアル(テーブルやチャート)数の多いページを特定したもの。ビジュアル数の多いページはレンダリング時間が長い可能性があり、数を減らせないかを考慮していく
  • Visuals
    種類別のビジュアルトップ3をリストアップしたもの。これを見ることで、レポート内でどのようなチャートが最も良く使用されているかが分かる。例えばPower BIを使っているのに、Excelと同じように、マトリックス(集計表)が多用されていないか等の判断を行うことができる
  • Fields
    ビジュアルに使用されるフィールド(例やメジャー)の数。これが多い程、多くのビジュアルで特定の列やメジャーが使用されていることを意味するため、重要な切り口(列)、あるいは指標(メジャー)である可能性が高い
  • Filters
    レポートレベル、ページレベル、ビジュアルレベル別のフィルターの数。各定義についてはこちらをご参考。
  • Issues
    BPAルールに従い、問題がある場合はこちらに数字が出現する。クリックすると、問題へ飛ぶことができ、英語表記で何が原因であるかが説明される。

    なお、ディフォルトでは英語のみですが、VSCode等でjsonの中身を日本語訳し、日本語化すると日本語版のBPA(Power Bレポート用)が使用できる(下記はご参考までに、日本語に翻訳したBPAルール)
  • Themes
    現在使用中のPower BIテーマを表示。テーマについては、こちらのP12~P16までご参考
  • Misc
    その他(Miscellaneous)いろいろ。ツールヒント(Tooltips)、ブックマーク、レイアウト、カスタムビジュアル等の数について表示
Pagesへのナビゲーション

Pagesに表示されている文字(Power BIの各シート名)をクリックすると、そのシートに飛ぶことができます。ビジュアル数が多いページではレポートが遅くなっている可能性があるため、上から順番に見ていくと良いでしょう。なお、再度強調しますが、PBI Explorerはセマンティック モデルの中身を分析しているわけではないため、モデリングにおいて重要な情報(列の行数・ユニーク行数・データベースのサイズ等)の情報は入っていません。あくまで、Power BIのレポート情報について知りたい場合に使用するものとなります。

ここでSummaryを見ると、以下のような”透かし”が見えるようになります。

もともとのレポートは、透かしベースのさまざまなチャートをそのまま抽出したものであり、Power BIのデータにアクセスできない場合でも、レポートのデザインを分かりやすく表示してくれています。下図の実際のレポートと比較してみると、なるほど非常にユニークな形で、実際のデータがなくともビジュアルのレイアウト等を可視化してくれていることが分かります。

ここでビジュアルを1つクリックしてみると、右側のレポートエクスプローラーにそのビジュアルのタイトル名とビジュアルタイプが表示されます。なお、ハイライトに関しては、ビジュアル用のGUIDのようなものが使用されおり、Power BIでビジュアルを作成する際、ランダムなGUIDのような文字列が割り当てられる仕組みとなっています。

一方、下のほうを見ると、当該ビジュアルのプロパティウィンドウが表示されており、まるでTabular EditorのようなUIとなっているのが分かります。

PBI ExplorerがTabular EditorのUIに非常に似ている理由は、PBI Explorerに存在するプロパティ情報が、Microsoftが公開しているPower BIレポート(Core Visual)に関する情報を基にしていることです。これらの情報はJSON形式で提供されていますが、PBI Explorerチームはこれをそのまま可視化するのではなく、これに基づいてゼロからオブジェクトモデルを作成し、それを可視化できるようにしています。その結果、PBI ExplorerはまるでTabular Editorを操作する際のインターフェースと同様の使い勝手となっています。

相互作用の可視化

Power BIで最も悩ましい課題の一つは、ビジュアル同士の相互作用です。自身が作成したレポートであれば問題はありませんが、他者が作成したレポートでは、どのビジュアル同士が相互作用があるのか、そしてどれがそうでないかを把握するのが非常に時間を要します。

そこでPBI Explorerはこれらを簡単に解決してくれるような画期的な機能を搭載しています。SummaryからDetailsへタブを切り替え、Show interactionを✅すると、オレンジ色とブルー色のフィルターアイコンが各ビジュアルで見えるようになります。

カーソルをオレンジ色のアイコンの上に置くと、"12 Inbound interactions" というポップアップが表示され、分かりやすいオレンジ色の矢印が出現します。これは、12個のビジュアルが選択したビジュアルをフィルターする効果があることを示しています。

逆に、ブルー色のフィルターにカーソルを持っていくと、今度は "22 Outbound interactions" というメッセージが表示され、選択したビジュアルが他の22個のビジュアルをフィルターする効果があることを示しています。

更に、このpbixにはないですが、通常のフィルターがある場合、当該ビジュアルにビジュアルレベルのフィルターがあることになります。

このように、相互作用を可視化できることから、複数のレポートから素早くクロスフィルターされたビジュアルの特定に役立ちます。ちなみに、相互作用をOFFにしたほうが良いビジュアルは単月選択をした際の時系列チャート等があります。

最後に、レポートエクスプローラーで "Data Model Explorer" をクリックすると、各ビジュアルで使用されている列やメジャーを特定することが可能になります。下図の例では、③の dCalendar[Date] は Summaryタブにて5ヵ所使用されており、左側のプレビューからは各チャートの種類、左下の "Usage" にその詳細を確認することができます。

レポートの比較

PBI ExplorerにはALM Tool Kitのような機能も含まれています。例えば、複数人で異なるpbixで作業を行っている場合やバージョン管理をしている場合、下図のように異なるpbixをそれぞれ読み込みます。

すると以下の通り、レポートレベルで違いが表示されるようになります。

詳細な解説は省略しますが、レポート作成時に不足している部分を素早く特定できるため、複数のPower BIページを統合する必要がある場合に便利です。ただし、冒頭で述べた通り、Read-onlyのため、片方の構成をもう片方とマージさせることはできません。なお、今回の例は異なるpbixを比較したものですが、Git統合を行っている場合、Gitの変更履歴をベースに比較することもできるようになります。

解説動画

下記は開発チームによる解説動画であり、今回の説明を更に詳しく知りたい方はこちらを観て頂くのが良いと思います。

www.youtube.com

最後に

今回紹介しましたPBI Explorerは、Bravo for Power BIのような感覚で使うことができます。UIはシンプルで使い勝手が良いですが、実際にはPro開発者向けのツールであることを忘れてはいけません(開発者がそうであるように)。

なお、現時点では、カスタムビジュアルに関する情報の取得が難しいようです。その理由として、Microsoftではなく、サードパーティが作成したビジュアルの内部スキーマにアクセスできないことが挙げられます。

個人的には、細かい部分は抜きにしても、ツールの性能と有用性には非常にポテンシャルを感じます。特にPower BIレポートを作成することが多い人には役立つ機能が多く含まれていると思います。カスタムビジュアルをそれ程使用しないという人は、PBI Explorerを使って様々なレポート内を覗いてみると良いでしょう。