🚀 快速安装
复制以下命令并运行,立即安装此 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. 提供针对性指导
基于分析,使用参考文档指导改进:
- 星型架构设计:参见 STAR-SCHEMA.md
- 关系配置:参见 RELATIONSHIPS.md
- DAX 度量值与命名:参见 MEASURES-DAX.md
- 性能优化:参见 PERFORMANCE.md
- 行级别安全性:参见 RLS.md
快速参考:模型质量检查清单
| 领域 | 最佳实践 |
|---|---|
| 表 | 明确区分为维度表或事实表 |
| 命名 | 人类可读:使用 客户名称 而非 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 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)