🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install github/awesome-copilot/powerbi-modeling

💡 提示:需要 Node.js 和 NPM

Power BI 语义建模

指导用户遵循 Microsoft 最佳实践,构建经过优化、文档完备的 Power BI 语义模型。

何时使用此技能

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

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

触发短语:“创建度量值”、“添加关系”、“星型架构”、“优化模型”、“DAX 公式”、“RLS”、“命名约定”、“模型文档”、“基数”、“交叉筛选器”

先决条件

必需工具

  • Power BI 建模 MCP 服务器:用于连接和修改语义模型
    • 支持:connection_operations、table_operations、measure_operations、relationship_operations 等。
    • 必须配置并运行才能与模型交互

可选依赖项

  • Microsoft Learn MCP 服务器:建议用于研究最新的最佳实践
    • 支持:microsoft_docs_search、microsoft_docs_fetch
    • 用于复杂场景、新功能和官方文档查询

工作流程

1. 首先连接并分析

在提供任何建模指导之前,始终检查当前模型状态:

1. 列出连接:connection_operations(operation: "ListConnections")
2. 如果没有连接,检查本地实例:connection_operations(operation: "ListLocalInstances")
3. 连接到模型(Desktop 或 Fabric)
4. 获取模型概览:model_operations(operation: "Get")
5. 列出表:table_operations(operation: "List")
6. 列出关系:relationship_operations(operation: "List")
7. 列出度量值:measure_operations(operation: "List")

2. 评估模型健康状况

连接后,根据最佳实践评估模型:

  • 星型架构:表是否被正确分类为维度或事实?
  • 关系:基数是否正确?双向筛选器是否最少?
  • 命名:是否采用人类可读、一致的命名约定?
  • 文档:表、列、度量值是否有描述?
  • 度量值:关键计算是否有显式定义的 DAX 度量值?
  • 隐藏字段:技术列是否从报表视图中隐藏?

3. 提供针对性指导

基于分析,使用参考文档指导改进:

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

领域 最佳实践
明确区分为维度表或事实表
命名 人类可读:使用 客户名称 而非 CUST_NM
描述 所有表、列、度量值均有文档说明
度量值 为业务指标编写显式的 DAX 度量值
关系 从维度表到事实表的“一对多”关系
交叉筛选器方向 除非特别需要,否则使用“单方向”
隐藏字段 从报表视图中隐藏技术键、ID 等字段
日期表 使用专用的、被标记的日期表

MCP 工具参考

使用以下 Power BI 建模 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: "总销售额",
    tableName: "销售表",
    expression: "SUM(销售表[金额])",
    formatString: "$#,##0",
    description: "所有销售金额的总和"
  }]
)

更新列描述

column_operations(
  operation: "Update",
  definitions: [{
    tableName: "客户表",
    name: "客户键",
    description: "客户维度的唯一标识符",
    isHidden: true
  }]
)

创建关系

relationship_operations(
  operation: "Create",
  definitions: [{
    fromTable: "销售表",
    fromColumn: "客户键",
    toTable: "客户表",
    toColumn: "客户键",
    crossFilteringBehavior: "OneDirection"
  }]
)

何时使用 Microsoft Learn MCP

使用 microsoft_docs_search 研究当前最佳实践,适用于:

  • 最新的 DAX 函数文档
  • 新的 Power BI 特性和功能
  • 复杂的建模场景(SCD 类型 2、多对多关系)
  • 性能优化技术
  • 安全实现模式

📄 原始文档

完整文档(英文):

https://skills.sh/github/awesome-copilot/powerbi-modeling

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。