powerbi-modeling

作者: github

語意模型建置助手,用於打造最佳化的 Power BI 資料模型,涵蓋 DAX、關聯性與最佳實務。可連線至作用中的 Power BI 模型(Desktop 或 Fabric),在提供星狀結構、關聯性、量值與命名慣例指引前,先分析當前結構。涵蓋核心模型建置任務:建立 DAX 量值、設定資料表關聯性與基數、實作資料列層級安全性(RLS),以及最佳化效能。包含模型品質評估...

npx skills add https://github.com/github/awesome-copilot --skill powerbi-modeling

Power BI Semantic Modeling

Guide users in building optimized, well-documented Power BI semantic models following Microsoft best practices.

When to Use This Skill

Use this skill when users ask about:

  • Creating or optimizing Power BI semantic models
  • Designing star schemas (dimension/fact tables)
  • Writing DAX measures or calculated columns
  • Configuring table relationships (cardinality, cross-filter)
  • Implementing row-level security (RLS)
  • Naming conventions for tables, columns, measures
  • Adding descriptions and documentation to models
  • Performance tuning and optimization
  • Calculation groups and field parameters
  • Model validation and best practice checks

Trigger phrases: "create a measure", "add relationship", "star schema", "optimize model", "DAX formula", "RLS", "naming convention", "model documentation", "cardinality", "cross-filter"

Prerequisites

Required Tools

  • Power BI Modeling MCP Server: Required for connecting to and modifying semantic models
    • Enables: connection_operations, table_operations, measure_operations, relationship_operations, etc.
    • Must be configured and running to interact with models

Optional Dependencies

  • Microsoft Learn MCP Server: Recommended for researching latest best practices
    • Enables: microsoft_docs_search, microsoft_docs_fetch
    • Use for complex scenarios, new features, and official documentation

Workflow

1. Connect and Analyze First

Before providing any modeling guidance, always examine the current model state:

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. Evaluate Model Health

After connecting, assess the model against best practices:

  • Star Schema: Are tables properly classified as dimension or fact?
  • Relationships: Correct cardinality? Minimal bidirectional filters?
  • Naming: Human-readable, consistent naming conventions?
  • Documentation: Do tables, columns, measures have descriptions?
  • Measures: Explicit measures for key calculations?
  • Hidden Fields: Are technical columns hidden from report view?

3. Provide Targeted Guidance

Based on analysis, guide improvements using references:

Quick Reference: Model Quality Checklist

AreaBest Practice
TablesClear dimension vs fact classification
NamingHuman-readable: Customer Name not CUST_NM
DescriptionsAll tables, columns, measures documented
MeasuresExplicit DAX measures for business metrics
RelationshipsOne-to-many from dimension to fact
Cross-filterSingle direction unless specifically needed
Hidden fieldsHide technical keys, IDs from report view
Date tableDedicated marked date table

MCP Tools Reference

Use these Power BI Modeling MCP operations:

Operation CategoryKey Operations
connection_operationsConnect, ListConnections, ListLocalInstances, ConnectFabric
model_operationsGet, GetStats, ExportTMDL
table_operationsList, Get, Create, Update, GetSchema
column_operationsList, Get, Create, Update (descriptions, hidden, format)
measure_operationsList, Get, Create, Update, Move
relationship_operationsList, Get, Create, Update, Activate, Deactivate
dax_query_operationsExecute, Validate
calculation_group_operationsList, Create, Update
security_role_operationsList, Create, Update, GetEffectivePermissions

Common Tasks

Add Measure with Description

measure_operations(
  operation: "Create",
  definitions: [{
    name: "Total Sales",
    tableName: "Sales",
    expression: "SUM(Sales[Amount])",
    formatString: "$#,##0",
    description: "Sum of all sales amounts"
  }]
)

Update Column Description

column_operations(
  operation: "Update",
  definitions: [{
    tableName: "Customer",
    name: "CustomerKey",
    description: "Unique identifier for customer dimension",
    isHidden: true
  }]
)

Create Relationship

relationship_operations(
  operation: "Create",
  definitions: [{
    fromTable: "Sales",
    fromColumn: "CustomerKey",
    toTable: "Customer",
    toColumn: "CustomerKey",
    crossFilteringBehavior: "OneDirection"
  }]
)

When to Use Microsoft Learn MCP

Research current best practices using microsoft_docs_search for:

  • Latest DAX function documentation
  • New Power BI features and capabilities
  • Complex modeling scenarios (SCD Type 2, many-to-many)
  • Performance optimization techniques
  • Security implementation patterns

來自 github 的更多技能

console-rendering
github
在 Go 中使用基於結構體標籤的控制台渲染系統的說明
official
acquire-codebase-knowledge
github
當使用者明確要求對現有程式碼庫進行映射、文件化或入門引導時,使用此技能。觸發詞如「映射此程式碼庫」、「文件化…」等提示。
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
透過 AgentRC 指令命令生成量身打造的 AI 代理指令檔案。產生 .github/copilot-instructions.md(預設,建議用於 VS Code 中的 Copilot…
official
acreadiness-policy
github
幫助使用者選取、撰寫或套用 AgentRC 政策。政策可透過停用不相關的檢查、覆寫影響/等級、設定…來自訂整備度評分。
official
add-educational-comments
github
為程式碼檔案添加教育性註解,將其轉化為有效的學習資源。根據三個可設定的知識層級(初學者、中級、進階)調整解釋深度與語氣。若未提供檔案,會自動請求提供,並以編號清單對應以便快速選取。僅透過教育性註解將檔案擴充最多125%(嚴格上限:400行新註解;超過1,000行的檔案上限為300行)。保留檔案編碼、縮排風格、語法正確性及……
official
adobe-illustrator-scripting
github
使用 ExtendScript (JavaScript/JSX) 編寫、除錯及最佳化 Adobe Illustrator 自動化腳本。適用於建立或修改操控…的腳本時。
official
agent-governance
github
宣告式政策、意圖分類與稽核軌跡,用於控制AI代理工具存取與行為。可組合的治理政策定義允許/封鎖的工具、內容過濾器、速率限制與核准要求——以配置而非程式碼形式儲存。語意意圖分類在工具執行前,透過基於模式的訊號偵測危險提示(資料外洩、權限提升、提示注入)。工具層級治理裝飾器在函式層級強制執行政策……
official