关于 powerbi-modeling
powerbi-modeling 是依据 Microsoft 最佳实践创建和优化 Power BI 语义模型的技能。它先检查已连接的模型,再借助建模工具指导架构、关系、DAX、安全性、文档和性能优化。
主要功能
- 01检查模型连接与结构
- 02评估架构和关系质量
- 03创建与更新表和度量值
- 04验证并执行 DAX 查询
- 05配置安全角色与关系
- 06完善文档并优化模型性能
适用场景
- 01审查现有语义模型
- 02设计星型架构和关系
- 03创建带说明的 DAX 度量值
- 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.mdPERFORMANCE.mdRELATIONSHIPS.mdRLS.mdSTAR-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. 提供针对性指导
根据分析,参考以下资料指导改进:
- 星型架构设计:参见 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: "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