power-bi-report について
Power BI Report Skill は、PBIR レポートプロジェクトの作成と管理を支援するスキルです。プロジェクトのひな形作成、JSON 構造の検証、HTML プレビュー、Power BI Desktop の再読み込みに対応し、多くの操作で Desktop への接続は不要です。
主な機能
- 01PBIR レポートプロジェクトの作成
- 02レポートメタデータの表示
- 03ファイルと JSON 構造の検証
- 04ライブ HTML プレビューの起動
- 05.pbip プロジェクトへの変換
- 06Power BI Desktop の再読み込み
活用シーン
- 01レポートのファイル構造を新規作成
- 02レポートファイルとページ参照を確認
- 03ブラウザーでレイアウトをプレビュー
- 04一括編集後に Desktop を再読み込み
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill power-bi-reportインストール後、Claude Code で/power-bi-reportを入力して読み込まれたか確認します。
詳細
Power BI レポートスキル
Power BI PBIR レポートプロジェクトを最上位レベルで管理します。スキャフォールディング、検証、プレビュー、Desktop との連携に対応しています。ほとんどの操作で Power BI Desktop への接続は必要ありません。
PBIR 形式
PBIR(拡張レポート形式)では、レポートを JSON ファイルのフォルダーとして保存します。
MyReport.Report/
definition.pbir # dataset reference
definition/
version.json # PBIR version
report.json # report settings, theme
pages/
pages.json # page order
page_abc123/
page.json # page settings
visuals/
visual_def456/
visual.json # visual type, position, bindings
各ファイルには、検証用の Microsoft 公開 JSON スキーマがあります。 PBIR は 2026 年 1 月時点で GA となり、2026 年 3 月以降、Desktop の既定の形式です。
レポートの作成
# Scaffold a new report project
pbi report create ./MyProject --name "Sales Report"
# With dataset reference
pbi report create ./MyProject --name "Sales" --dataset-path "../Sales.Dataset"
これにより、definition.pbir、report.json、version.json を含む完全なフォルダー構造と、空の pages/ ディレクトリが作成されます。
レポート情報と検証
# Show report metadata summary (pages, theme, dataset)
pbi report info
pbi report info --path ./MyReport.Report
# Validate report structure and JSON files
pbi report validate
検証では、次の項目を確認します。
- 必須ファイル(
definition.pbir、report.json、version.json)が存在する - すべての JSON ファイルをエラーなく解析できる
- スキーマ URL が存在し、一貫している
pages.jsonのページ参照が実際のページフォルダーと一致している
プレビュー
レポートレイアウトのライブ HTML プレビューを開始します。
pbi report preview
ブラウザーが開き、すべてのページが、視覚的なプレースホルダー、種類、位置、データバインディングとともに表示されます。ファイルが変更されると、プレビューは自動で更新されます。
preview オプション依存関係が必要です:pip install pbi-cli-tool[preview]
Desktop との連携
# Trigger Power BI Desktop to reload the current report
pbi report reload
Power BI Desktop の Developer Mode は TMDL の変更を自動検出しますが、PBIR の変更は検出しません。このコマンドは Desktop ウィンドウにキーボードショートカットを送信して、再読み込みを実行します。reload オプション依存関係が必要です:pip install pbi-cli-tool[reload]
自動同期を抑制する(--no-sync)
既定では、すべての書き込みコマンド(add-page、delete-page、set-background、set-theme など)の実行後に、Power BI Desktop が自動で同期されます。複数の手順でレポートを作成すると、コマンドの実行ごとに Desktop が再読み込みされます。
report コマンドグループで --no-sync を使用すると、コマンドごとの同期を抑制できます。その後、最後に一度だけ pbi report reload を呼び出します。
# BAD: Desktop reloads after every command
pbi report add-page --display-name "Overview" --name overview
pbi report set-background overview --color "#F2F2F2"
# GOOD: suppress sync during build, reload once at the end
pbi report --no-sync add-page --display-name "Overview" --name overview
pbi report --no-sync set-background overview --color "#F2F2F2"
pbi report reload
--no-sync は、report、visual、filters、bookmarks の各コマンドグループで使用できます。
変換
# Convert a .Report folder into a distributable .pbip project
pbi report convert ./MyReport.Report --output ./distributable/
パスの解決
すべてのレポートコマンドは .Report フォルダーを自動検出します。
- 明示的に指定:
pbi report --path ./MyReport.Report info - 自動検出:CWD から上位へたどり、
*.Report/definition/を検索します .pbipから検出:.pbipファイルと同階層にある.Reportフォルダーを探します
ワークフロー:レポートを完成させる
このワークフローでは、複数のスキルのコマンドを使用します。
# 1. Scaffold report (this skill)
pbi report create . --name "SalesDashboard" --dataset-path "../SalesModel.Dataset"
# 2. Add pages (power-bi-pages skill)
pbi report add-page --display-name "Overview" --name overview
pbi report add-page --display-name "Details" --name details
# 3. Add visuals (power-bi-visuals skill)
pbi visual add --page overview --type card --name revenue_card
pbi visual add --page overview --type bar --name sales_by_region
# 4. Bind data (power-bi-visuals skill)
pbi visual bind revenue_card --page overview --field "Sales[Total Revenue]"
pbi visual bind sales_by_region --page overview \
--category "Geo[Region]" --value "Sales[Amount]"
# 5. Apply theme (power-bi-themes skill)
pbi report set-theme --file brand-colors.json
# 6. Validate (this skill)
pbi report validate
モデルとレポートの組み合わせ
pbi-cli は、セマンティックモデルレイヤーとレポートレイヤーの両方に対応しています。
# Model layer (requires pbi connect)
pbi connect
pbi measure create Sales "Total Revenue" "SUM(Sales[Amount])"
# Report layer (no connection needed)
pbi report create . --name "Sales"
pbi visual add --page overview --type card --name rev_card
pbi visual bind rev_card --page overview --field "Sales[Total Revenue]"
関連スキル
| スキル | 使用する場面 |
|---|---|
| power-bi-visuals | ビジュアルの追加、バインド、更新、削除 |
| power-bi-pages | ページやブックマークの追加、削除、設定 |
| power-bi-themes | テーマ、条件付き書式 |
| power-bi-filters | ページおよびビジュアルのフィルター |
JSON 出力
pbi --json report info
pbi --json report validate
注意点
report validateは Desktop が開けない PBIR でも成功します: 検証で確認するのは JSON 構造と必須ファイルのみです。データセットのバインド、スキーマ URL のバージョン、ビジュアルのqueryStateの整合性は検証されません。検証に成功した後、Desktop で「レポートを開けません」と表示されるのは、既知の落とし穴です。--dataset-pathは CWD ではなく.Reportフォルダーからの相対パスです:../Sales.Datasetを指定すると作成時には正しく解決されますが、後で.Reportフォルダーを移動すると、バインドが気付かないうちに壊れます。安定したワークスペース構成を使用するか、CI では絶対パスを指定してください。pbi report reloadは、フォーカスがあるウィンドウにキーボードショートカットを送信します: リロードの実行時にユーザーが別のアプリで入力していると、キー入力がそのアプリに送られます。リロードは一連の処理の最後にのみ実行し、ユーザーには別のアプリに切り替えないよう伝えてください。.pbipへのreport convertでは、セマンティックモデルはバンドルされません: データセットをパスで参照する.pbipのシェルが生成されます。.SemanticModelディレクトリも同梱せずに生成されたフォルダーを配布すると、開いたときに「データセットが見つかりません」というエラーが発生します。- PBIR のスキーマバージョンはプロジェクト単位ではなく、ファイル単位で固定されます: 異なるバージョンの Desktop で編集されたファイルを混在させると(例:2026 年 3 月ビルドで編集したページと、2026 年 1 月ビルドで編集したページ)、一方では検証に失敗し、もう一方では成功することがあります。必ずプロジェクト全体をまとめてアップグレードしてください。
--no-syncが適用されるのは、指定したコマンドグループのみです:pbi visual --no-sync add ...の後にpbi report set-background ...を実行すると、2 つ目のコマンドの後も同期されます。一連の処理で使用するすべてのグループに--no-syncを指定してください。