SKILL.md
readonly只读
name
powerbi-modeling
description
Power BI 语义建模助手,用于构建优化的数据模型。在处理 Power BI 语义模型、创建度量值、设计星型架构、配置关系、实现行级安全性或优化模型性能时使用。当查询涉及 DAX 计算、表关系、维度/事实表设计、命名约定、模型文档、基数、交叉筛选方向、计算组和数据模型最佳实践时触发。始终首先使用 power-bi-modeling MCP 工具连接到活动模型,了解数据结构后再提供指导。
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. 列出连接: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. 评估模型健康状况
连接后,根据最佳实践评估模型:
- 星型架构:表是否正确分类为维度或事实?
- 关系:基数正确?双向筛选器最少?
- 命名:可读性强、一致的命名约定?
- 文档:表、列、度量值是否有描述?
- 度量值:关键计算是否有显式度量值?
- 隐藏字段:技术列是否从报表视图中隐藏?
3. 提供针对性指导
基于分析,使用以下参考资料指导改进:
- 星型架构设计:参见 STAR-SCHEMA.md
- 关系配置:参见 RELATIONSHIPS.md
- DAX 度量值和命名:参见 MEASURES-DAX.md
- 性能优化:参见 PERFORMANCE.md
- 行级安全性:参见 RLS.md
快速参考:模型质量检查清单
| 区域 | 最佳实践 |
|---|---|
| 表 | 清晰的维度与事实分类 |
| 命名 | 可读性强:使用 Customer Name 而非 CUST_NM |
| 描述 | 所有表、列、度量值均有文档 |
| 度量值 | 为业务指标创建显式 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: "所有销售金额的总和"
}]
)
更新列描述
column_operations(
operation: "Update",
definitions: [{
tableName: "Customer",
name: "CustomerKey",
description: "客户维度的唯一标识符",
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 类型 2、多对多)
- 性能优化技术
- 安全实现模式






