powerbi-modeling について
powerbi-modelingは、Microsoftのベストプラクティスに沿ってPower BIセマンティックモデルを作成・最適化するスキルです。接続済みモデルを調査し、モデリングツールを使ってスキーマ、リレーション、DAX、セキュリティ、ドキュメント、性能を案内します。
主な機能
- 01モデル接続と構造の調査
- 02スキーマとリレーションの評価
- 03テーブルとメジャーの作成・更新
- 04DAXクエリの検証と実行
- 05セキュリティロールとリレーションの設定
- 06ドキュメント整備と性能最適化
活用シーン
- 01既存セマンティックモデルのレビュー
- 02スター スキーマとリレーションの設計
- 03説明付きDAXメジャーの作成
- 04行レベルセキュリティと性能の確認
MCP 対応
セマンティックモデルへの接続と変更にはPower BI Modeling MCP Serverが必要で、モデル、テーブル、メジャー、リレーション、DAX、セキュリティの操作を提供します。Microsoft Learn MCP Serverは、ドキュメントや最新の実践例を調べるための任意のサーバーです。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill powerbi-modelingインストール後、Claude Code で/powerbi-modelingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/MEASURES-DAX.mdPERFORMANCE.mdRELATIONSHIPS.mdRLS.mdSTAR-SCHEMA.md詳細
Power BI セマンティックモデリング
Microsoft のベストプラクティスに従って、最適化され、十分に文書化された Power BI セマンティックモデルを構築するようユーザーをガイドします。
このスキルを使用する場面
ユーザーが次のことについて質問したときにこのスキルを使用します:
- Power BI セマンティックモデルの作成または最適化
- スタースキーマ(ディメンションテーブル/ファクトテーブル)の設計
- DAX メジャーまたは計算列の作成
- テーブルリレーションシップの構成(カーディナリティ、クロスフィルター)
- 行レベルセキュリティ(RLS)の実装
- テーブル、列、メジャーの命名規則
- モデルへの説明とドキュメントの追加
- パフォーマンスチューニングと最適化
- 計算グループとフィールドパラメーター
- モデルの検証とベストプラクティスのチェック
トリガーフレーズ: 「メジャーを作成」「リレーションシップを追加」「スタースキーマ」「モデルを最適化」「DAX 数式」「RLS」「命名規則」「モデルのドキュメント」「カーディナリティ」「クロスフィルター」
前提条件
必要なツール
- Power BI Modeling MCP サーバー:セマンティックモデルへの接続と変更に必要です
- 有効化される機能:connection_operations、table_operations、measure_operations、relationship_operations など
- モデルを操作するには構成済みで実行中である必要があります
オプションの依存関係
- Microsoft Learn MCP サーバー:最新のベストプラクティスを調査するために推奨されます
- 有効化される機能:microsoft_docs_search、microsoft_docs_fetch
- 複雑なシナリオ、新機能、公式ドキュメントに使用します
ワークフロー
1. まず接続して分析する
モデリングのガイダンスを提供する前に、必ず現在のモデルの状態を確認します:
1. List connections: connection_operations(operation: "ListConnections")
2. If no connection, check for local instances: connection_operations(operation: "ListLocalInstances")
3. Connect to the model (Desktop or Fabric)
4. Get model overview: model_operations(operation: "Get")
5. List tables: table_operations(operation: "List")
6. List relationships: relationship_operations(operation: "List")
7. List measures: measure_operations(operation: "List")
2. モデルの健全性を評価する
接続後、ベストプラクティスに照らしてモデルを評価します:
- スタースキーマ:テーブルはディメンションまたはファクトとして適切に分類されていますか?
- リレーションシップ:カーディナリティは正しいですか?双方向フィルターは最小限ですか?
- 命名:人間が読みやすく、一貫した命名規則ですか?
- ドキュメント:テーブル、列、メジャーに説明がありますか?
- メジャー:主要な計算に明示的なメジャーがありますか?
- 非表示フィールド:技術的な列はレポートビューから非表示になっていますか?
3. 対象を絞ったガイダンスを提供する
分析に基づき、リファレンスを使用して改善をガイドします:
- スタースキーマの設計:STAR-SCHEMA.md を参照
- リレーションシップの構成:RELATIONSHIPS.md を参照
- DAX メジャーと命名:MEASURES-DAX.md を参照
- パフォーマンスの最適化:PERFORMANCE.md を参照
- 行レベルセキュリティ:RLS.md を参照
クイックリファレンス:モデル品質チェックリスト
| 領域 | ベストプラクティス |
|---|---|
| テーブル | ディメンションとファクトの明確な分類 |
| 命名 | 人間が読みやすい:CUST_NM ではなく Customer Name |
| 説明 | すべてのテーブル、列、メジャーが文書化されている |
| メジャー | ビジネス指標に対する明示的な DAX メジャー |
| リレーションシップ | ディメンションからファクトへの一対多 |
| クロスフィルター | 特別に必要な場合を除き単一方向 |
| 非表示フィールド | 技術的なキー、ID をレポートビューから非表示にする |
| 日付テーブル | 専用のマークされた日付テーブル |
MCP ツールリファレンス
次の Power BI Modeling MCP 操作を使用します:
| 操作カテゴリ | 主な操作 |
|---|---|
connection_operations | Connect、ListConnections、ListLocalInstances、ConnectFabric |
model_operations | Get、GetStats、ExportTMDL |
table_operations | List、Get、Create、Update、GetSchema |
column_operations | List、Get、Create、Update(説明、非表示、書式) |
measure_operations | List、Get、Create、Update、Move |
relationship_operations | List、Get、Create、Update、Activate、Deactivate |
dax_query_operations | Execute、Validate |
calculation_group_operations | List、Create、Update |
security_role_operations | List、Create、Update、GetEffectivePermissions |
一般的なタスク
説明付きのメジャーを追加する
measure_operations(
operation: "Create",
definitions: [{
name: "Total Sales",
tableName: "Sales",
expression: "SUM(Sales[Amount])",
formatString: "$#,##0",
description: "Sum of all sales amounts"
}]
)
列の説明を更新する
column_operations(
operation: "Update",
definitions: [{
tableName: "Customer",
name: "CustomerKey",
description: "Unique identifier for customer dimension",
isHidden: true
}]
)
リレーションシップを作成する
relationship_operations(
operation: "Create",
definitions: [{
fromTable: "Sales",
fromColumn: "CustomerKey",
toTable: "Customer",
toColumn: "CustomerKey",
crossFilteringBehavior: "OneDirection"
}]
)
Microsoft Learn MCP を使用すべき場面
microsoft_docs_search を使って、以下に関する最新のベストプラクティスを調査します:
- 最新の DAX 関数ドキュメント
- 新しい Power BI の機能と能力
- 複雑なモデリングシナリオ (SCD Type 2、多対多)
- パフォーマンス最適化のテクニック
- セキュリティ実装パターン