Power BIモデルをChatGPTで読み解く。
Power BIでダッシュボードを試作していると、
「そろそろ正式に運用するから、モデルの構成をちゃんとドキュメントにしてほしい」
「これ、どういう計算式でKPI出してるの?」
……なんて言われること、ありませんか?
でも .pbix
ファイルの中身って、実はそのままでは読み解きにくいんですよね。
ということで今回は、PBIX → BIM(JSON)化という技を使って、と、その活用法をまとめてみました。
Power BIのデータモデルを**ChatGPTなどのLLMに食わせる方法
最新追記:実は .pbip
の方が AI にとって都合がいい件
元記事では「PBIX → BIM に変換して AI に読み込ませよう」という方法を紹介しましたが、
コメントをいただき分かったこととして、そもそも .pbip
形式で保存しておけば、BIM変換すら不要という事実です。
.pbip
とは
.pbip
は「Power BI プロジェクト形式」と呼ばれ、.pbix
を 構成ファイルベースで保存したものです。
レポート・データモデル・Power Query の定義が分割されたテキスト形式のファイルとして保存されるため、AIによる構造的解析に非常に適しています。
.pbix
との違い
項目 | .pbix |
.pbip (プロジェクト形式) |
---|---|---|
形式 | 単一バイナリ | フォルダ+複数ファイル |
中身の可視性 | 人間もAIも不可 | JSON/TOM形式でテーブル・DAX・ビジュアル等が明示 |
Git管理 | 不向き | 差分管理しやすい(構成が分割されている) |
ChatGPTなどのAI対応 |
.bim などに変換すれば可 |
そのまま読み込ませて解析できる |
BIMファイルの生成 | 必須 | 不要(model.tmdlなどに分割保存されている) |
.pbip
からAIで読み取れる情報一覧
.pbip
プロジェクトの中身は、以下のような構成になっています(実際はフォルダで管理):
プロジェクト名/
├── プロジェクト.pbip ← 構成定義(JSON)
├── Report/
│ └── report.json ← ビジュアル、レイアウト、ページ構成など
├── SemanticModel/
│ └── definition/
│ ├── model.tmdl ← データモデル本体(DAX、テーブル、リレーション)
│ ├── tables/ ← 各テーブルごとの定義ファイル(*.tmdl)
│ ├── relationships.tmdl ← リレーション構成
│ └── cultures/ja-JP.tmdl ← 表示ラベルや書式設定など
これらのファイルはすべて JSONに準拠した構造で保存されているため、ChatGPT などの LLM に直接読み込ませて以下のような解析が可能です。
- レポートページ一覧(ページ名、ビジュアルの種類)
- 各テーブルの構造(列名、データ型、非表示列など)
- Measure・Calculated ColumnのDAX式一覧
- リレーション構成(1対多、クロスフィルター方向)
- フォルダ階層(Display Folder)による分類
- ビジュアルの表示内容・軸・サイズ・ツールチップ設定 など
🛠 .pbip
の保存手順(超簡単)
- Power BI Desktop でレポートを開く
- メニュー「ファイル」→「名前を付けて保存」→「プロジェクトとして保存(.pbip)」を選択
- 任意のフォルダに保存すると、構成ファイル群が生成される
あとはそのフォルダごと .zip
にして AI に渡せば、構造の見える化・KPIの仕様書化・ロジックレビューまで自動で実現できます。
以下は古い情報ですが、残しておきます。
なぜ .pbix
じゃダメなのか?
Power BIの .pbix
は基本的にバイナリ形式です。
中身を直接覗くことはできず、DAX式やテーブル定義もPower BI Desktop上でしか見えません。
ドキュメントにしたり、レビューしたり、再利用したり……という用途には不向きなんですね。
でも、裏側では「Tabular Model」と呼ばれる構造で管理されています。
これを .bim
というJSON形式で取り出すことができれば、いろんな応用が可能になります。
必要なツール
-
Power BI Desktop
(外部ツールを有効化しておく必要あり) -
Tabular Editor(v2 または v3)(https://tabulareditor.com)
無料のv2でもOK。v3は有償だけど高機能。
PBIX → BIM の変換手順
- Power BI Desktop で
.pbix
を開きます - メニュー「外部ツール」から Tabular Editor を起動
- Tabular Editor 側で「File」→「Save As...」を選択
- 拡張子
.bim
で保存(中身はJSON)
.bim
で取り出せる情報
.bim
ファイルは、Power BIのデータモデルの設計図そのものです。
どんな情報が含まれているか、ざっくり挙げてみます。
テーブル定義
- テーブル名、カラム名、データ型
- 計算列(Calculated Columns)
- 表示/非表示のフラグなど
メジャー(Measures)
- 名前と DAX式(expression)
- 表示形式(formatString)
- 系統情報(lineageTag)
リレーションシップ
- 結合テーブル、キー、方向(1対多・双方向など)
アノテーション(あれば)
- フォルダ名、メモ、カスタムタグなど
ChatGPTで何ができる?
.bim
はJSONなので、ChatGPTに読み込ませれば中身の解析や変換が可能です。
使い方次第で、業務にかなり役立ちます。
モデルの構造を「言葉」で整理
- テーブル構成やカラム一覧をテキスト出力
- KPI定義をDAX式付きで一覧化
- 誰でも読める「仕様書」化に最適
DAX式のレビューや最適化
- ネストが深すぎる式の簡略化提案
- フィルターの文脈がおかしくないか?のチェック
- 「このメジャー、同じようなの3つあるよ」的指摘も可能
KPI追加のDAXアシスト
- 「前年同期比を追加して」といえば、DAX式ごと生成してくれる
- 曖昧な要件でもプロトタイプ式を出してくれるのが便利
こんな場面で使えます
いくつか活用シーンを例示しておきます。
モデルを整備して正式運用に乗せるとき
試作で作ったモデルのテーブル名やカラム構成を見直して、命名ルールを整えたり、不要な項目を整理したり。
KPI一覧やロジックを資料化したいとき
営業やマネジメント層に「どうやってこの数値を出してるの?」と聞かれたとき、説明資料を自動で生成。
DAXのレビューやリファクタを効率化したいとき
メジャーが肥大化しているPBIXの中身をChatGPTに読み込ませて、読みやすく整理したり、まとめたり。
他のモデルへのメジャー再利用
DAX式を別のPBIXに移植したいときも、Tabular Editor経由で一括コピー/貼り付けできます。
補足Tips
- Display Folderの設定も
.bim
に含まれるので、カテゴリ整理も一緒にできる - Tabular Editorはスクリプト機能もあるので、ルールベースのチェック自動化も可能
- Gitで差分管理したいときにも便利(モデルの変更履歴がとれる)
まとめ
Power BIモデルの .bim
化は、
構造の見える化 → ドキュメント化 → 再利用・自動化
という流れを可能にしてくれる強力なステップです。
ChatGPTなどのツールと組み合わせれば、
「属人化しがちなDAXモデル」を可視化・共有・整備することができます。
試作ダッシュボードを育てていくフェーズでは、特に効果を発揮します。
ぜひ一度、PBIXをBIMに変換してみてください!