Community研究&データ分析github.com

venkatv-hub/powerbi-dashboard-builder

Power BI のセマンティックモデルとレポートをダッシュボード仕様書から構築します。スタースキーマ(TMDL形式、PBIPプロジェクト形式)、DAX メジャー(時間インテリジェンス、半加算パターンを含む)、PBIR形式のレポートページ、テーマ、ドリルスルー、フィールドパラメータ、行レベルセキュリティを生成します。ユーザーが Power BI ダッシュボード、レポート、セマンティックモデル、データセット、DAX メジャー、.pbip プロジェクトの構築や変更を希望する場合にこのスキルを使用してください。

powerbi-dashboard-builder とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が、ドメインスキル(財務、サプライチェーン、ヘルスケア、販売、人事など)が生成したダッシュボード仕様書に基づいて、Power BI の完全なアーティファクト(セマンティックモデル、レポート、セキュリティ設定)を自動生成するためのものです。主に3つのビルドモードをサポートしています。(A)MCP/CLIを使用したライブモデルへの直接構築、(B)PBIPプロジェクトファイル(TMDL + PBIR)の生成、そして(C)開発者向けの設計書とコードスニペットの生成です。スキルは、スタースキーマのモデリング、DAXメジャー(時間インテリジェンス、半加算パターン、比率、Top N + Otherなど)、レポートページのレイアウト(1280×720グリッドベース)、視覚要素のマッピング、行レベルセキュリティ(RLS)の実装を自動化します。仕様書に加えて、ドメインメトリクス定義、TMDLパターン、DAXパターン、レポートPBIR構造などの参照ファイルを活用し、生成物の品質を担保します。このスキルは、Power BI Desktop(PBIP形式を有効化したもの)または Power BI Service をターゲットとし、MCPサーバー経由で Power BI Modeling MCP と連携可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/venkatv-hub/semantic-model-AI-dashboard-skills/tree/main/skills/powerbi-dashboard-builder

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Power BI ダッシュボードビルダー

ダッシュボード仕様書(bi-dashboard-design/references/dashboard-spec.md を参照)を、動作可能な Power BI アーティファクトに変換します。ドメイン知識はドメインスキルから、レイアウトとスタイルのルールは bi-dashboard-design から取得します。このスキルは Power BI 固有の部分をカバーします。

最初にビルドモードを選択する

利用可能なものを確認し、どのモードを使用するかをユーザーに伝えてください。

モード使用する場合生成されるもの
A. MCP/CLI 経由のライブモデルPower BI Modeling MCP サーバー (@microsoft/powerbi-modeling-mcp) または pbi-cli が接続されており、Power BI Desktop でモデルが開かれている場合開かれているモデルにテーブル、リレーションシップ、メジャーを直接作成。レポートは PBIR ファイルとして構築
B. PBIP プロジェクトファイルファイルの書き込みは可能だが、ライブ接続がない場合.pbip プロジェクトフォルダ: <Name>.SemanticModel/definition/*.tmdl および <Name>.Report/definition/ (PBIR)。ユーザーが Power BI Desktop で開く
C. ビルドキットファイルもツールも実用的でない場合(チャットのみなど)DAX メジャースクリプト、TMDL スニペット、テーマ JSON、開発者が従うページごとのビルドシート

モード A、次に B を優先します。モード B では、Power BI Desktop のプレビュー機能としてまだプレビュー状態である場合、ユーザーに PBIP 保存オプションと「TMDL 形式を使用してセマンティックモデルを保存する」を有効にするように促してください。

ワークフロー

  1. 仕様書とドメインメトリクスファイルを読む。 作成するすべてのメジャーは、ドメインスキルの <domain-skill>/references/metrics.md にある定義と一致している必要があります。
  2. スタースキーマをモデル化する (references/tmdl-patterns.md を参照):
    • 仕様書内の粒度ごとに1つのファクトテーブル。ディメンションはファクト間で適合しています。
    • 専用の Date テーブルを日付テーブルとしてマークし、連続的で、すべてのファクト日付をカバーし、ドメインが会計カレンダーを使用する場合は会計列を含めます。
    • ディメンションからファクトへの単方向の一対多リレーションシップ。双方向は、書面による理由がある場合のみ使用します。ロールプレイング日付(請求日 vs 期日 vs 支払日):1つのアクティブなリレーションシップと、その他は非アクティブにしてメジャー内で USERELATIONSHIP で有効化します。
    • 外部キーと、メジャーに置き換えられた生の数値列を非表示にします。キー、ID、年月数値には summarizeBy: none を設定します。
    • 月名やバケットラベル(経過日数、バンド)の並べ替え列。
  3. メジャーを作成する (references/dax-patterns.md を参照):_Measures テーブル、テーマごとの表示フォルダ(例:01 Revenue、02 Margin)、すべてのメジャーに書式文字列と説明を設定します。最初に基本メジャーを作成し、次に比率、時間インテリジェンス、表示ヘルパー(変化率%、矢印、ステータス色)を作成します。
  4. レポートページを作成する (references/report-pbir.md を参照):各仕様コンポーネントをビジュアルにマッピングし、グリッドマッピングを使用して 1280×720 のキャンバスに配置し、bi-dashboard-design/references/theme-tokens.md からテーマを適用し、ドリルスルーページとリセットブックマークを追加します。
  5. セキュリティ: 仕様に row_level がある場合、関連するディメンションに DAX フィルターを使用して RLS ロールを作成し、Service でメンバーを割り当てる方法を文書化します。
  6. 検証: references/dax-patterns.md#verification の DAX チェック(合計がソースと一致する、最新期間の時間インテリジェンスが値を返す、空白の KPI がない)を実行し、bi-dashboard-design の受け入れチェックリストを実行します。検証できなかったことを報告します。

グリッドマッピング (1280 × 720 キャンバス)

  • マージン 16 px; 使用可能幅 1248 px; 88 px の 12 列 + 16 px のガター。
  • 列スパン c → 幅 c*88 + (c-1)*16 px; x = 16 + col_index*104。
  • 1 高さ単位 = 56 px + 16 px ガター(ヘッダー行 ≈ 64 px)。
  • 長いページ:L1/L2 では垂直スクロールよりも 2 ページ目を優先。L3 の詳細ページでは、テーブル用により高いキャンバス (1280 × 1440) を使用する場合があります。

ビジュアルマッピング

仕様コンポーネントPower BI ビジュアル備考
kpi_cardカード (新) / KPI比較用の参照ラベル。メジャーによる条件付き色
trend_line折れ線グラフターゲットを 2 番目のメジャーまたは定数線として。相対日付フィルターまたはメジャーウィンドウを使用して 13 か月
ranked_barクラスター化された棒上位 N フィルター + 必要に応じて動的分割メジャーによる「その他」
variance_bar分散メジャーのクラスター化された棒Var 符号 × 方向によるルールで色付け
waterfallウォーターフォール内訳フィールド = ドライバーディメンション
stacked_bar100% 積み上げ棒
matrixマトリックス行階層、値 Actual/Budget/Var/Var%、Var% のセル要素
exception_tableテーブル上位 N または重大度フィルター、条件付きアイコン、ドリルスルー有効
aging_bucketsクラスター化された列バケット順位列で並べ替えられたバケット列
funnelファネルまたは棒ステージ順に並べ替えられた棒の方が読みやすい
mapAzure Map / 塗りつぶしマップテナントがマップを許可している場合のみ
slicerスライサー(ドロップダウンまたはタイル)期間と組織のスライサーをページ間で同期

ガードレール

  • メジャー内で "2026-10-31" のように日付をハードコードしないでください。「最新の完了期間」をデータまたはパラメータから導出します。
  • すべての比率に DIVIDE() を使用します。比率を複数行にわたって平均化しないでください。
  • 計算列よりもメジャーを優先します。DAX 計算テーブルよりも Power Query / ウェアハウスの変換を優先します。
  • 仕様で要求され、RLS/OLS が設定されていない限り、機密列(SSN、患者名、給与詳細)をインポートしないでください。
  • 自動日付/時刻をオフにしてください。モデルを肥大化させ、Date テーブルと競合します。

参照ファイル

  • references/tmdl-patterns.md – テーブル、列、リレーションシップ、Date テーブル、ロールの TMDL 構文。モード A/B で読み取ります。
  • references/dax-patterns.md – 再利用可能な DAX:比率、時間インテリジェンス、半加算スナップショット、経過日数バケット、Top N + Other、表示ヘルパー、検証クエリ。
  • references/report-pbir.md – PBIR フォルダレイアウト、ビジュアル JSON の基本、ドリルスルー、ブックマーク、およびモード C のビルドシート形式。

関連スキル