Claude Code に Power BI スキルを与える CLI ツール「pbi-cli」— DAX 実行からレポート自動生成まで

タグ pbi-cliClaude CodePower BIDAXCLIPythonレポート自動化BI開発columnコラムwindowsWindowsGitHubオープンソースMinaSaad1

Claude Code に Power BI スキルを与える CLI ツール「pbi-cli」— DAX 実行からレポート自動生成まで

ひとことでいうと

pbi-cli は、AI コーディングアシスタントの Claude Code に Power BI の操作スキルを追加する Python 製の CLI ツールです。インストールは pip install pbi-cli-tool の一行だけで完了し、pbi-cli skills install を実行すれば Claude Code が 13 種類の Power BI スキルを自動で認識します。DAX クエリの実行・テーブルやメジャーの作成・レポートのビジュアル追加まで、チャットに日本語で指示するだけで Claude が適切なコマンドを自動実行してくれます。Power BI の日常作業を自動化したい BI 開発者や、DAX に不慣れな分析担当者、レポートの品質を継続的に管理したい管理者に向いています。


こんな人におすすめ

  1. Power BI レポートの量産・自動化を試みる BI 開発者 手作業でのビジュアル追加やメジャー作成を Claude Code に委ねることができます。繰り返しの多い作業を大幅に削減でき、開発スピードを上げたい方に最適です。

  2. DAX に不慣れな分析担当者 「上位 10 製品を売上で表示して」と自然な言葉で指示するだけで、Claude が DAX クエリ(数式)を生成・実行・検証してくれます。数式の書き方を覚えていなくても、結果を引き出せます。

  3. レポートの品質を継続的に確認したい管理者 モデルの健全性チェック・行レベルセキュリティのテスト・変更前後のスナップショット比較といったコマンドを活用し、品質管理を自動化できます。


インストール・使い方

Step 1: パッケージのインストール

ターミナル(文字を入力してコンピュータに命令を送る画面)を開き、以下のコマンドをコピー&ペーストして実行してください。pipx を使うと、インストールと同時にコマンドをどこからでも使えるよう PATH(コマンド検索先の設定)への登録も自動で行われます。

pipx install pbi-cli-tool
# または
pip install pbi-cli-tool

pip でインストールした場合、Windows 環境では Scripts ディレクトリを PATH に手動で追加する必要があります。

Step 2: Claude Code スキルの登録(初回のみ)

pbi-cli skills install

このコマンドを実行すると、Claude Code が Power BI 操作スキル 13 種を認識できるようになります。以降は Claude のチャット画面に自然な言葉で指示するだけで Power BI を操作できます。

Step 3: Power BI Desktop への接続

pbi connect

Power BI Desktop で .pbix ファイル(Power BI のレポートファイル)を開いた状態でこのコマンドを実行します。接続後は Claude が TOM(後述)経由でセマンティックモデル(データの定義・計算ロジックをまとめた層)を直接操作できるようになります。

Step 4: Claude Code のチャットから操作する

接続が完了したら、Claude Code のチャット欄に日本語や英語で指示を入力するだけです。

「Salesテーブルにメジャーを5つ追加して」
「このモデルのRLSを地域マネージャー向けに設定して」
「このDAXクエリはなぜ遅いの?」

Claude が状況を判断し、適切な pbi コマンドを自動で実行します。


動かしてみた

Linux + Python 3.12.13 の Docker 環境で pip install pbi-cli-tool を実行し、パッケージのインストールが正常に完了することを確認しました。依存関係の解決も問題なく行われています。

リポジトリの構成も整っており、pyproject.tomlREADME.mdCHANGELOG.mdTHIRD_PARTY_LICENSES.md がルートに揃っています。tests/ ディレクトリには test_e2e.pytest_tmdl_diff.pytest_visual_backend.py など 20 を超えるテストファイルが存在します。ドキュメントによると pytest -m "not e2e" で 488 テストが実行でき、コードの品質管理が丁寧に行われていることがわかります(e2e テストは Power BI Desktop への接続が別途必要です)。

試す前に知っておくとよいこと

  • 接続・DAX 実行・レポート操作などの主要機能は Windows + Power BI Desktop が動いている環境でのみ利用できます。
  • Python 3.12 系が推奨バージョンです。
  • Linux や macOS では、パッケージのインストールまでは行えますが、Power BI Desktop との連携機能は Windows 専用です。

デモについて

本ツールは Power BI Desktop(Windows 専用アプリケーション)とのプロセス間通信を前提としているため、Linux 環境でのブラウザデモは提供していません。実際の動作を確認するには、Windows PC に Power BI Desktop をインストールし、上記「インストール・使い方」の手順を進めてください。公式リポジトリの assets/ ディレクトリには各機能のデモ GIF・SVG が多数公開されており、事前に動作イメージを掴むことができます。


2 層アーキテクチャの仕組み

pbi-cli は「セマンティックモデル層」と「レポート層」の 2 層で構成されています。

セマンティックモデル層(pbi connect が必要)

Python から .NET の TOM/ADOMD ライブラリを直接呼び出す仕組みで、外部サーバーや追加バイナリは不要です。接続後はサブ秒(1 秒以下)の速さでモデル操作が完了します。主な操作カテゴリは以下の通りです。

カテゴリ代表コマンド
クエリdax executedax validatedax clear-cache
モデリングtablecolumnmeasurerelationshiphierarchy
デプロイdatabase export-tmdldatabase import-tmdldatabase diff-tmdl
セキュリティsecurity-roleperspective
診断trace start/stop/fetch/exportmodel stats

レポート層(接続なしで使える)

PBIR(後述)の JSON ファイルを直接読み書きします。.pbip プロジェクトファイルさえあれば Power BI Desktop が起動していなくても操作可能です。32 種類のビジュアルタイプに対応しており、テーマ適用・フィルター設定・ブックマーク管理も CLI から実行できます。


はじめの一歩 — 実践のコツ

インストール直後にすぐ試せるコマンドをまとめました。コピー&ペーストして順番に実行してみてください。

# バージョン確認(インストールが成功しているか確認)
pbi --version

# 利用可能なスキル一覧を表示
pbi-cli skills list

# REPL モードで対話的に操作(ひとつずつ試したいとき)
pbi repl

REPL(対話モード)に入ったら、以下のように続けて操作できます。

pbi> connect
pbi(localhost-xxxxx)> measure list
pbi(localhost-xxxxx)> dax execute "EVALUATE TOPN(5, Sales)"

実践のコツをまとめると次の通りです。

  • REPL モードはまず接続確認に使う: タブ補完・コマンド履歴・接続状態を示すプロンプトが使えるため、初めて触るときに状態を確認しながら進められます。
  • --json オプションで出力を整える: スクリプトや AI エージェント連携には pbi --json measure list のように --json を付けると機械で扱いやすい形式で出力されます。
  • スキルを登録したら Claude に説明を求める: pbi-cli skills list でスキル名を確認した後、Claude のチャットで「このスキルでできることを教えて」と尋ねると使い方のイメージがつかみやすくなります。
  • レポート層は接続なしで試せる: .pbip ファイルがあれば Power BI Desktop を起動しなくてもレポート操作を試せます。まずはレポート層から始めると導入のハードルが低くなります。
  • スナップショットを取ってから変更する: 大きな変更を加える前に database export-tmdl でモデルをテキスト形式に書き出しておくと、万が一のときに database import-tmdl で元に戻せます。

活用アイデア

  • レポートの量産と標準化: 同じ構造のレポートを複数部署向けに作成するとき、Claude に「この構成で 5 部門分のレポートを作って」と指示するだけで繰り返し作業を自動化できます。

  • スナップショットによる変更管理: 大規模なモデル変更の前に database export-tmdl でスナップショットを保存しておき、変更後に database diff-tmdl で差分を確認できます。問題があれば database import-tmdl で即座に元の状態に戻せます。

  • カスタムビジュアル開発の自動化: pbi-cli skills install 後に Claude へ「売上目標を超えたら赤くなるラジアルゲージを作って」と伝えると、npx pbiviz new から TypeScript のコーディング・型チェック・.pbiviz パッケージング・レポートへの埋め込みまでを自動で実施します。

  • ドキュメントの自動生成: pbi docs スキル経由で Claude に「このモデルの全メジャーをドキュメント化して」と指示するだけで、データディクショナリやメジャーの一覧表が生成されます。CI/CD パイプライン(ソフトウェアの自動ビルド・テストの仕組み)に組み込んで定期的に更新することも可能です。

  • DAX の学習サポート: 自然言語で「上位 10 製品を売上で表示する DAX を書いて、内容も説明して」と頼むと、DAX クエリの生成と解説を同時に受けられます。DAX を学びながら実務に活かせます。

  • RLS(行レベルセキュリティ)の設計と検証: 「地域マネージャーが自分の担当地域のデータだけ見られるようにして」と依頼すると、セキュリティロールの設定からテストまでを自動化できます。権限設計のミスによるデータ漏洩リスクを減らすのに役立ちます。


用語とポイント解説

DAX(Data Analysis Expressions) Power BI でメジャー(集計値)や計算列を記述するための数式言語です。かんたんに言うと、Excel の関数に似た書き方でデータの集計・フィルタリング・比較などを定義する仕組みです。pbi-cli を使うと Claude が DAX を自動生成・実行・検証してくれるため、書き方を覚えていなくても結果を引き出せます。

TOM(Tabular Object Model) Power BI や Analysis Services(データ分析サービス)のセマンティックモデルを .NET のプログラムから操作するための仕組みです。かんたんに言うと、テーブル・列・メジャー・リレーションシップといったモデルの各部品を、コードから読み書きするための「設計図への窓口」です。pbi-cli はこの TOM を通じてモデルをサブ秒単位で操作しています。

ADOMD.NET Analysis Services のデータにクエリ(問い合わせ)アクセスを提供する .NET ライブラリです。かんたんに言うと、Power BI のモデルに対して「このデータを出して」と問い合わせるときに使う通信部品です。pbi-cli は内部でこのライブラリを使い、DAX クエリの実行結果を受け取っています。

PBIR(Power BI Enhanced Report Format) レポートを JSON ファイルの集まりとして保存する新しい形式で、.pbip プロジェクトで使われます。かんたんに言うと、これまでバイナリ(人間には読めない形式)だったレポートファイルを、テキストエディタで読み書きできる形式に変えたものです。Git(変更履歴を管理するツール)との相性がよく、チームでの共同作業がしやすくなります。

TMDL(Tabular Model Definition Language) セマンティックモデルをテキスト形式で記述するための言語です。かんたんに言うと、Power BI のデータ定義や計算ロジックを「人間が読めるテキストファイル」として保存する仕組みです。database export-tmdl でモデルをテキストに書き出し、database diff-tmdl で変更前後の差分を確認できます。

RLS(Row-Level Security、行レベルセキュリティ) ユーザーのロール(役割)に応じて、参照できるデータ行を制限するセキュリティ機能です。かんたんに言うと、「東日本担当の人は東日本のデータだけ見える」という制限をモデル側で設定する仕組みです。pbi-cli ではセキュリティロールの作成・テスト・変更を Claude への自然言語指示だけで行えます。

MCP(Model Context Protocol) AI エージェントが外部ツールを呼び出すための通信プロトコル(取り決め)です。かんたんに言うと、AI が「このツールを使いたい」と外部プログラムに伝えるための共通ルールです。pbi-cli はこのプロトコルを使わず、独自の軽量スキル仕組みで Claude Code に Power BI の操作を覚えさせています。

REPL(対話モード) コマンドを一行ずつ入力して即座に結果を確認できる対話的な実行環境です。かんたんに言うと、「コマンドを打つ → 結果が出る → 次のコマンドを打つ」をその場で繰り返せる画面です。pbi repl で起動でき、タブ補完・コマンド履歴・接続状態を示すプロンプトが使えるため、初めて操作する際の確認作業に便利です。

pipx Python 製のコマンドラインツールを、他のパッケージと干渉しない独立した環境にインストールするためのツールです。かんたんに言うと、アプリをきれいに分けて管理できる「仕切り付き収納」のようなものです。pip でインストールするよりも PATH の設定が自動化されるため、Windows を含む各 OS でのセットアップがスムーズになります。

セマンティックモデル Power BI のデータ定義・計算ロジック・リレーションシップ(テーブル間のつながり)などをまとめた層のことです。かんたんに言うと、「どのデータをどう計算してどう見せるか」のルールを集めた設計書です。pbi connect で接続すると、この層を Claude が TOM 経由で直接操作できるようになります。


BI の自動化やレポート品質管理の効率化を目指している方は、ぜひ DAX の自動生成や大規模モデルのスナップショット管理などに活用してみてはいかがでしょうか。