Community研究与数据分析github.com

venkatv-hub/powerbi-dashboard-builder

根据仪表板规范构建 Power BI 语义模型和报表——以 TMDL 格式(PBIP 项目)生成星型模式、包含时间智能和半累加模式的 DAX 度量、以 PBIR 格式生成报表页、主题、钻取、字段参数和行级安全性。当用户要求创建或修改 Power BI 仪表板、报表、语义模型、数据集、DAX 度量或 .pbip 项目时,包括领域技能(财务、供应链、医疗、销售、HR)生成仪表板规范且目标平台为 Power BI 或 Fabric 时使用此技能。

powerbi-dashboard-builder 是什么?

Power BI Dashboard Builder 是一个专门用于将仪表板设计规范(见 `bi-dashboard-design/references/dashboard-spec.md`)自动转化为可工作的 Power BI 工件的 AI 技能。它支持三种构建模式:通过 MCP/CLI 直接修改打开的语义模型(模式 A),生成 PBIP 项目文件(模式 B),或生成供开发人员手动执行的构建工具包(模式 C)。该技能会指导 AI 按照星型模式模型化事实表和维度表、自动编写符合行业最佳实践的 DAX 度量(包含时间智能、半累加模式等)、布局 1280x720 画布上的可视化组件(如 KPI、趋势线、柱状图、矩阵等)、应用主题、配置行级安全性并执行验证检查。它严格遵循领域技能中定义的指标规范,避免硬编码日期,并强制使用 `DIVIDE()` 处理比率,确保生成的 Power BI 解决方案结构清晰、性能优良且可维护。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/venkatv-hub/semantic-model-AI-dashboard-skills/tree/main/skills/powerbi-dashboard-builder

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Power BI 仪表板构建器

将仪表板规范(参见 bi-dashboard-design/references/dashboard-spec.md)转换为可工作的 Power BI 工件。领域知识来自领域技能;布局和样式规则来自 bi-dashboard-design。本技能涵盖 Power BI 特有的内容。

首先选择构建模式

检查可用条件并告知用户你使用的模式:

模式适用时机产出内容
A. 通过 MCP/CLI 操作实时模型Power BI Modeling MCP 服务器(@microsoft/powerbi-modeling-mcp)或 pbi-cli 已连接,并且 Power BI Desktop 已打开模型直接在打开的模型中创建表、关系和度量;报表以 PBIR 文件形式构建
B. PBIP 项目文件可以写入文件但无实时连接生成 .pbip 项目文件夹:<Name>.SemanticModel/definition/*.tmdl 和 <Name>.Report/definition/(PBIR),用户可在 Power BI Desktop 中打开
C. 构建工具包文件或工具均不可用(如仅聊天环境)生成 DAX 度量脚本、TMDL 片段、主题 JSON 以及分页构建指南,供开发人员手动执行

优先选择模式 A,其次选择模式 B。在模式 B 中,提醒用户启用 PBIP 保存选项以及在 Power BI Desktop 预览功能中启用“使用 TMDL 格式存储语义模型”(如果其版本仍将这些功能标记为预览)。

工作流

  1. 读取规范和领域指标文件。 你创建的每个度量必须与领域技能的 <domain-skill>/references/metrics.md 中的定义完全一致。
  2. 建模星型模式(references/tmdl-patterns.md):
    • 每个粒度一个事实表;维度在事实表之间保持一致。
    • 一个专用的 Date 表标记为日期表,连续,覆盖所有事实日期,若领域使用财政日历则包含财政列。
    • 从维度到事实表的单向一对多关系。仅在附有书面理由时才使用双向关系。角色扮演日期(如发票日期、到期日期、付款日期):一个活动关系,其他为非活动关系,并在度量中使用 USERELATIONSHIP 激活。
    • 隐藏外键以及被度量替换的原始数值列;对键、ID、年月数字设置 summarizeBy: none。
    • 对月份名称以及桶标签(如账龄、区间)设置排序依据列。
  3. 编写度量(references/dax-patterns.md):一个 _Measures 表,按主题使用显示文件夹(如 01 Revenue、02 Margin),每个度量包含格式字符串和描述。先构建基础度量,再构建比率度量,然后是时间智能度量,最后是显示帮助度量(变化百分比、箭头、状态颜色)。
  4. 构建报表页(references/report-pbir.md):将每个规范组件映射到可视化对象,在 1280×720 画布上按网格映射放置,应用来自 bi-dashboard-design/references/theme-tokens.md 的主题,添加钻取页面和一个重置书签。
  5. 安全性: 如果规范包含 row_level,则创建 RLS 角色,在相关维度上使用 DAX 筛选器,并记录如何在服务中分配成员。
  6. 验证: 运行 references/dax-patterns.md#verification 中的 DAX 检查(总计与原始数据匹配、时间智能返回最新期间的值、没有空白的 KPI),然后运行 bi-dashboard-design 验收清单。报告你无法验证的内容。

网格映射(1280 × 720 画布)

  • 边距 16 px;可用宽度 1248 px;12 列,每列 88 px,列间距 16 px。
  • 列跨度 c → 宽度 c*88 + (c-1)*16 px;x = 16 + col_index*104。
  • 一个高度单位 = 56 px,间距 16 px(标题行约 64 px)。
  • 长页面:对于 L1/L2 层级,优先使用第二页而非垂直滚动;L3 详情页可使用更高的画布(1280 × 1440)来显示表格。

可视化映射

规范组件Power BI 可视化对象备注
kpi_card卡片(新式)/ KPI使用参考标签进行比较;通过度量设置条件颜色
trend_line折线图目标作为第二度量或常量线;通过相对日期筛选器或度量窗口显示最近 13 个月
ranked_bar簇状柱形图如果需要,通过动态分段度量实现 Top N 筛选 + “其他”
variance_bar基于方差度量的簇状柱形图根据 Var 符号 × 方向设置颜色规则
waterfall瀑布图细分字段 = 驱动维度
stacked_bar100% 堆叠柱形图
matrix矩阵行层次结构,值 Actual/Budget/Var/Var%,单元格元素显示 Var%
exception_table表格Top N 或严重性筛选,条件图标,启用钻取
aging_buckets簇状柱形图按桶排序列排序的桶列
funnel漏斗图或柱形图按阶段顺序排序的柱形图更易读
mapAzure Map / 填充地图仅在租户允许地图的情况下使用
slicer切片器(下拉或磁贴)在页面间同步周期和组织切片器

护栏

  • 切勿在度量中硬编码日期(如 "2026-10-31");应从数据或参数中推导“最新完整期间”。
  • 每个比率必须使用 DIVIDE()。切勿对行之间的比率求平均值。
  • 优先使用度量而非计算列;优先使用 Power Query / 仓库转换而非 DAX 计算表。
  • 除非规范特别要求并且已经配置了 RLS/OLS,否则不要导入敏感列(如 SSN、患者姓名、薪资详情)。
  • 关闭自动日期/时间功能;它会膨胀模型并与日期表冲突。

参考文件

  • references/tmdl-patterns.md – 表的 TMDL 语法、列、关系、日期表、角色。在模式 A/B 中阅读。
  • references/dax-patterns.md – 可复用的 DAX:比率、时间智能、半累加快照、账龄桶、Top N + 其他、显示帮助、验证查询。
  • references/report-pbir.md – PBIR 文件夹布局、可视化对象 JSON 要点、钻取、书签以及模式 C 的构建工作表格式。

相关技能