はじめに
Power BI 勉強会 GW合宿 2022 第弐夜での発表内容です。
https://powerbi.connpass.com/event/246427/
Power BI "で" 可視化しよう!
通常はこういう文脈で語られることが多いかと思います。
データを整備して、モデリングして、レポート作成。棒グラフをつくって、円グラフをつくって、散布図をつくる。Power BI で 可視化をしています。
Power BI "を" 可視化しよう!
今回やってみたいのは、Power BI を 可視化することです。
何段階かステップがありますので、ひとつずつやっていきます。
PBIXファイルからデータモデルを取り出す
まず、やりたいことは、PBIXファイルからデータモデルを取り出すことです。
Power BI service にPBIXファイルをふつーうに作業をしてアップロードすると、データセット&レポートになりますよね。
このことから、PBIXファイルには、
- データモデル
- インポートしたデータ
- ビジュアル
が含まれるということがわかります。
Tabular Editor 2or3でデータモデルにアクセスする
そこで、PBIXファイルからデータモデルを取り出す作業に入っていきます。PBIXのデータモデルにアクセスするためにはTabular Editor 2or3 が必要です。
Tabular Editor 2は無料(コミュニティエディション)で、Tabular Editor 3は有料です。今回行うことはTabular Editor 2でも十分に実施することが可能ですが、スクリーンショットはTabular Editor 3(TE3)になります。
サンプルデータ「Titanic」を使用して簡単なレポートを作成します。その後、外部ツールタブからTabular Editor 3のボタンを押します。ここからアクセスすると、TCP/IP(localhost)経由でデータモデルにアクセスをしたTE3が立ち上がります。
TE3が立ち上がったら、おもむろにFileからSaveを実施すると、あまりみなれない.bim
という拡張子のファイルを保存することができます。これがデータモデルの正体です。
Model.BIMファイル
Model.BIMファイルにはデータモデルの定義がJSON形式で書かれています。テーブル名、カラム名、データソースの種類・設定などなどです。ちなみに、BIMはBusiness Intelligence Modelの頭文字をとっているようです。DLされたファイルをテキストエディターで開いてみるとこんな感じ。ファイル名や互換性レベル、またそれぞれのカラム名が記載されているのが見えます。あくまでもデータモデルの定義で、データそのものは含まれません。
少し話を変えて、UML
UML
UML とは Unified Modeling Language の略語
日本語では「 統一モデリング言語 」
こういうのとか、
こういうのをいうようです。
PlantUML
このUMLをテキストベースで記述することができるツールがPlantUMLです。PlantUMLはQiitaのエディターにも対応しています。
- UMLダイアグラムを素早く作成するためのコンポーネント
- シンプルなテキストファイルで UML が書ける、オープンソースのツール
- シーケンス図
- ユースケース図
- クラス図
- オブジェクト図 などなど
左側のテキスト記述をすると、右側の画像が出力されます。VSCODEでも使えますし、オンラインツールもたくさん公開されています。
PlantUMLはJsonを可視化することが可能
簡単なJSONであればこういう感じに。Jsonを @startjson
と @endjson
でかこむだけです。
少し複雑でも、こんなにわかりやすく図示してくれます。
ようやく、Power BIを可視化しよう!
ようやく本題に入れます。つまり、PlantUMLを使用すれば、Power BI Desktopで作成したデータセットから、TE3を使ってアクセスし保存することができるModel.BIM
ファイルを可視化することができるということです。
やってみた。
ここから何を感じるかはあなた次第!Model.BIM
には概念的にデータの定義が入っているんだなぁ・・と理解していた方も、こうやって可視化をすると少しPower BIにお近づきになれた気がしませんか?今回は単一のCSVファイルだけで作成したデータセットを可視化しましたが、複数データソースや、リレーションをはるとどう変化するのか、ぜひ試してみてください。
まとめ
- データモデルはブラックボックスではない
- 構造がわかれば、理解が進む