mcpField
P
programmatic-development

programmatic-development

github.com/josiahsiegelデータ・データベース5990 回インストール19 週間前に更新
リポジトリ

programmatic-development について

コードでPower BIレポートとセマンティックモデルを開発するためのリファレンススキルです。PBIP、PBIR、TMDLの作成、検証、ツール選定、デプロイのワークフローを開発者向けに案内します。

主な機能

  1. 01PBIPプロジェクト構成の指針
  2. 02PBIRレポート形式と編集
  3. 03TMDLセマンティックモデルの作成
  4. 04ローカル検証の資料
  5. 05デプロイツールの選定
  6. 06CI/CDと環境昇格のパターン

活用シーン

  1. 01Pythonでレポートページを生成・更新
  2. 02コードでセマンティックモデルを編集
  3. 03CIからPBIPプロジェクトをデプロイ
  4. 04環境間でPower BIコンテンツを昇格

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill programmatic-development

インストール後、Claude Code で/programmatic-developmentを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
fabric-cicd-recipes.md
pbir-format-deep-dive.md
pbir-schema-reference.md
tom-advanced-patterns.md
tools-and-tabular-editor.md

詳細

プログラムによる Power BI 開発

概要

Power BI では、コードを使用してレポートやセマンティックモデルを作成・管理するために、複数の方法がサポートされています。2026 年現在、標準的な技術スタックは次のとおりです。

  • PBIP(Power BI プロジェクト):フォルダー形式のソースフォーマット
  • TMDL:PBIP 内のセマンティックモデル形式(tmdl-mastery スキルを参照)
  • PBIR(Power BI 拡張レポート形式):PBIP 内のレポート形式
  • fabric-cicd(Python)または Fabric CLI fab deploy:デプロイ用
  • TOM / .NET SDK:高度なプログラムによるモデル編集用
  • semantic-link-labs:Fabric ノートブックから Python ベースのスクリプトを実行するためのもの

リファレンスマップ

詳細な資料は references/ にあります。現在のタスクに必要なものだけを読み込んでください。

トピックファイル読み込むタイミング
PBIR の段階的導入スケジュール、PBIP の完全なフォルダー構造、byPath/byConnection、注釈、検証、制限事項references/pbir-format-deep-dive.mdPBIR を手作業で作成する場合、definition.pbir のデバッグ、生成された PBIR の検証、2026 年の導入状況の把握
PBIR JSON スキーマ(ビジュアル、ページ、レポート設定)と Python による操作例references/pbir-schema-reference.mdPython で PBIR をスクリプト操作する場合:ページの追加、ビジュアルの一括更新、レポート間のコピー
TOM/Tabular Editor/fabric-cicd/Fabric CLI/semantic-link/pbi-tools/ALM Toolkit — セットアップ、例、Desktop の開発者向け機能references/tools-and-tabular-editor.mdツールの選択、デプロイ、TOM のスクリプト操作、C# スクリプトの実行、Desktop の設定
TOM の高度なパターン(RLS、OLS、パーティション、パースペクティブ、翻訳、計算グループ、SP 認証)references/tom-advanced-patterns.md基本的なメジャーやテーブルの編集を超える、複雑な TOM .NET コードの作成
fabric-cicd の高度なレシピ(複数ワークスペース、フック、GitHub Actions/Azure DevOps パイプライン、パラメーターのパターン、トラブルシューティング)references/fabric-cicd-recipes.md本番環境の CI/CD ワークフロー、複数環境への昇格、OIDC フェデレーション資格情報

PBIR - Power BI 拡張レポート形式

PBIR は、Microsoft が公開している最新のフォルダー形式の JSON レポート形式で、ドキュメント化されています。従来の不透明な report.json の塊(現在は PBIR-Legacy と呼ばれます)を、ビジュアル、ページ、ブックマークごとに 1 つのファイルに置き換え、適切な Git の差分・マージ、コードレビュー、VS Code でのスキーマ検証済み編集を可能にします。

現在の状況(2026 年 4 月): PBIR は Service で新規作成されるレポートの既定形式です。既存の Service レポートは段階的に自動アップグレードされています。Desktop では、2026 年 5 月のリリースで PBIR が Desktop の既定形式になるまで、プレビュー切り替えが必要です。PBIP が GA になる時点で、PBIR-Legacy は非推奨になります。

2026 年の導入スケジュール、管理者によるオプトアウト、Service/Desktop の復元ポリシー、Sovereign Cloud に関する注意点、プロジェクトの完全な構造、byPath と byConnection の例、注釈、自己検証手順、制限事項については、references/pbir-format-deep-dive.md を参照してください。

PBIP の簡易構造(要点のみ):

MyProject.pbip                          # Entry JSON
├── MyProject.Report/
│   ├── definition.pbir                # Required entry; uses byPath or byConnection
│   └── definition/                    # PBIR folder (one file per page/visual/bookmark)
└── MyProject.SemanticModel/
    ├── definition.pbism
    └── definition/                    # TMDL folder

TMDL - Tabular Model Definition Language

TMDL は、セマンティックモデル定義向けの、人が読みやすくソース管理に適した形式です。2025 年から GA です。完全な構文リファレンス、すべてのオブジェクトタイプ、CI/CD パターン、デプロイワークフローを含む TMDL の包括的な説明については、専用の powerbi-master:tmdl-mastery スキルを読み込んでください。

簡単な例:

table Sales
    measure 'Total Sales' = SUM(Sales[Amount])
        formatString: $ #,##0.00
        displayFolder: Revenue

    partition 'Sales-Partition' = m
        mode: import
        source =
            let
                Source = Sql.Database("server", "db"),
                Sales = Source{[Schema="dbo",Item="Sales"]}[Data]
            in
                Sales

    column Amount
        dataType: decimal
        sourceColumn: Amount
        formatString: $ #,##0.00

基本的なワークフロー

  1. ソース形式を選択する — 新規作業には PBIP(最新形式、TMDL + PBIR)を使用します。レガシー PBIX は Report Server または PBIP 以前のプロジェクトでのみ使用します。
  2. プログラムで編集する — PBIR/TMDL JSON には VS Code、モデルの作成には Tabular Editor、Fabric ノートブックには semantic-link-labs、カスタムアプリには TOM .NET を使用します。
  3. ローカルで検証する — JSON スキーマ、PBI-InspectorV2、リネージウォーカー、BPA を使用します。powerbi-master:validation-testing スキルを参照してください。
  4. パラメーター化する — 環境固有の GUID/接続文字列には parameter.yml を使用します。
  5. デプロイする — fabric-cicd(Python ライブラリ、推奨)または fab deploy(CLI ラッパー)を使用します。どちらも同じ parameter.yml を読み込みます。初回のデプロイ時には、Fabric ポータルでデータソースの資格情報を手動で入力する必要があります。
  6. 差分を確認して昇格する — スキーマの差分には ALM Toolkit を使用し、昇格には Fabric Deployment Pipelines またはスクリプトによる複数ワークスペースへのデプロイを使用します。

デプロイの判断マトリックス(2026)

シナリオ推奨ツール
CI/CD(GitHub Actions / Azure DevOps)を使用する PBIP プロジェクトfabric-cicd(Python)
PBIP のローカルでのアドホックなデプロイfab deploy(Fabric CLI v1.5+)
Fabric ノートブックを使用したモデル編集semantic-link-labs(sempy_labs)
XMLA による純粋なセマンティックモデルMicrosoft.AnalysisServices.NetCore.retail.amd64 を介した TOM(.NET)
TMDL フォルダーから XMLA への変換Tabular Editor 2 CLI(-D スイッチ)
レガシー PBIX のみ(PBIP なし)pbi-tools
環境間の昇格(dev/test/prod)Fabric Deployment Pipelines(GUI)または parameter.yml を使用した fabric-cicd
2 つのモデル間のスキーマ差分ALM Toolkit

ツールのクイック選択

必要な作業参照先を読み込むツール
デプロイ済みモデルのメジャーを変更するtools-and-tabular-editor.mdTOM または semantic-link-labs
フォルダー間でメジャーを自動生成するtools-and-tabular-editor.mdTabular Editor C# スクリプト
CI から PBIP をデプロイするfabric-cicd-recipes.mdfabric-cicd + parameter.yml
テンプレートから PBIR ページを生成するpbir-schema-reference.mdPython + JSON スキーマ検証
.NET で RLS/OLS を設定するtom-advanced-patterns.mdTOM
差分比較用にレガシー PBIX を抽出するtools-and-tabular-editor.mdpbi-tools

関連スキル

  • powerbi-master:tmdl-mastery -- TMDL 言語の詳細なリファレンスと構文
  • powerbi-master:validation-testing -- デプロイ前に生成した PBIR / TMDL / DAX を検証します
  • powerbi-master:rest-api-automation -- fabric-cicd では対応できないシナリオ向けの Fabric REST API エンドポイント
  • powerbi-master:deployment-admin -- Fabric Deployment Pipelines、ワークスペース管理、デプロイ時の RLS
  • powerbi-master:fabric-integration -- Direct Lake、OneLake、Lakehouse/Warehouse の統合

Microsoft 公式リファレンス(2026)

コメント