数据模型与 AI 辅助 DAX
本节目标
本节不讲复杂建模理论。目标是让学员掌握三件事:
- 知道 Measure 是管理层 KPI 的基础。
- 会让 AI 生成基础 DAX 初稿。
- 会检查 AI 写出来的 DAX 是否符合业务口径。
核心观点:
AI 可以帮你写 DAX,但你必须负责定义指标和验证结果。
Measure 是什么
Measure 是会根据筛选条件动态变化的计算指标。
例如:
DAX
Total Sales = SUM(financials[Sales])当你筛选 Country = France 时,Total Sales 会变成法国的销售额。
当你筛选 Year = 2014 时,它会变成 2014 年的销售额。
这就是 Power BI 报表交互的基础。
Calculated Column vs Measure
| 类型 | 计算方式 | 常见用途 |
|---|---|---|
| Calculated Column | 每一行都有一个结果 | 行级分类、字段转换 |
| Measure | 根据筛选上下文实时计算 | KPI、汇总、比率、排名 |
入门原则:
Dashboard 上的 KPI 优先用 Measure。
让 AI 写 DAX 前,先给业务定义
不要这样问:
text
Write DAX for margin.这样太模糊。
应该这样问:
text
Write a Power BI DAX measure for Profit Margin.
Definition: Profit Margin = Total Profit / Total Sales.
Table name: financials.
Profit column: financials[Profit].
Sales column: financials[Sales].
Use DIVIDE to avoid division-by-zero errors.本次建议创建的 Measures
DAX
Total Sales = SUM(financials[Sales])
Total Profit = SUM(financials[Profit])
Total COGS = SUM(financials[COGS])
Total Units Sold = SUM(financials[Units Sold])
Discount Amount = SUM(financials[Discounts])
Profit Margin = DIVIDE([Total Profit], [Total Sales])
Discount Rate = DIVIDE([Discount Amount], SUM(financials[Gross Sales]))AI 生成 DAX 后怎么验证
| 检查点 | 怎么检查 |
|---|---|
| 表名是否正确 | 是否叫 financials,大小写和空格是否一致 |
| 字段是否存在 | AI 有没有引用不存在的字段 |
| 分母是否正确 | 利润率是除以 Sales,不是 Gross Sales,除非业务另有定义 |
是否使用 DIVIDE | 比率类指标避免除零错误 |
| 筛选后是否合理 | 放到 Matrix 中按 Country / Product / Year 检查 |
| 是否符合公司口径 | 折扣、退货、取消订单等是否需要排除 |
不要盲信 AI
AI 写出的 DAX 可能能跑,但业务口径可能错。能运行不等于能汇报。
用 Matrix 验证 Measure
建议现场做一个 Matrix:
- Rows:
Country - Values:
Total Sales,Total Profit,Profit Margin
然后逐个检查:
- 总数是否和 Card 对得上。
- 每个国家是否有合理数值。
- Profit Margin 是否显示为百分比。
- 切换 Year 后是否跟着变化。
可以让 AI 解释筛选上下文
Prompt:
text
Explain why this Power BI measure changes when I filter by Country, Product, Segment, or Year.
Total Sales = SUM(financials[Sales])讲师解释:
入门阶段不用深入 Row Context / Filter Context 理论,但必须理解:同一个 Measure 会随着筛选器和图表维度变化。
本节小练习
- 创建
Total Sales。 - 创建
Total Profit。 - 创建
Profit Margin。 - 创建 Matrix,按
Country检查结果。 - 添加
Yearslicer,看 Measure 是否动态变化。
建议时间:20–25 分钟。
本节小结
AI 辅助 DAX 的正确姿势:
业务定义写清楚 → AI 生成初稿 → 人工检查字段和口径 → 放入图表验证。