mcpField
P
powerbi-modeling

powerbi-modeling

github.com/github数据与数据库40.5k10.0k 次安装今天更新
代码仓库

关于 powerbi-modeling

powerbi-modeling 是依据 Microsoft 最佳实践创建和优化 Power BI 语义模型的技能。它先检查已连接的模型,再借助建模工具指导架构、关系、DAX、安全性、文档和性能优化。

主要功能

  1. 01检查模型连接与结构
  2. 02评估架构和关系质量
  3. 03创建与更新表和度量值
  4. 04验证并执行 DAX 查询
  5. 05配置安全角色与关系
  6. 06完善文档并优化模型性能

适用场景

  1. 01审查现有语义模型
  2. 02设计星型架构和关系
  3. 03创建带说明的 DAX 度量值
  4. 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.md
PERFORMANCE.md
RELATIONSHIPS.md
RLS.md
STAR-SCHEMA.md

详细介绍

Power BI 语义建模

依据 Microsoft 最佳实践,指导用户构建优化且文档完善的 Power BI 语义模型。

何时使用此技能

当用户询问以下内容时,请使用此技能:

  • 创建或优化 Power BI 语义模型
  • 设计星型架构(维度表/事实表)
  • 编写 DAX 度量值或计算列
  • 配置表关系(基数、交叉筛选)
  • 实现行级别安全性(RLS)
  • 表、列、度量值的命名约定
  • 为模型添加描述和文档
  • 性能调优与优化
  • 计算组和字段参数
  • 模型验证和最佳实践检查

触发短语:“create a measure”、“add relationship”、“star schema”、“optimize model”、“DAX formula”、“RLS”、“naming convention”、“model documentation”、“cardinality”、“cross-filter”

先决条件

必需工具
  • Power BI Modeling MCP Server:连接和修改语义模型所必需
    • 启用:connection_operations、table_operations、measure_operations、relationship_operations 等
    • 必须配置并运行,才能与模型交互
可选依赖项
  • Microsoft Learn MCP Server:建议用于研究最新最佳实践
    • 启用: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. 提供针对性指导

根据分析,参考以下资料指导改进:

快速参考:模型质量检查清单

领域最佳实践
表清晰区分维度与事实
命名人类可读:Customer Name 而非 CUST_NM
描述所有表、列、度量值均有文档
度量值业务指标使用显式 DAX 度量值
关系从维度到事实的一对多
交叉筛选除非特别需要,否则使用单向
隐藏字段从报表视图中隐藏技术键、ID
日期表专用且标记为日期表

MCP 工具参考

使用以下 Power BI Modeling MCP 操作:

操作类别关键操作
connection_operationsConnect、ListConnections、ListLocalInstances、ConnectFabric
model_operationsGet、GetStats、ExportTMDL
table_operationsList、Get、Create、Update、GetSchema
column_operationsList、Get、Create、Update(描述、隐藏、格式)
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

常见任务

添加带描述的度量值
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、多对多)
  • 性能优化技巧
  • 安全实现模式

评论

支持 Markdown