Skip to content

数据模型与 AI 辅助 DAX ​

本节目标 ​

本节不讲复杂建模理论。目标是让学员掌握三件事:

  1. 知道 Measure 是管理层 KPI 的基础。
  2. 会让 AI 生成基础 DAX 初稿。
  3. 会检查 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

然后逐个检查:

  1. 总数是否和 Card 对得上。
  2. 每个国家是否有合理数值。
  3. Profit Margin 是否显示为百分比。
  4. 切换 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 会随着筛选器和图表维度变化。


本节小练习 ​

  1. 创建 Total Sales。
  2. 创建 Total Profit。
  3. 创建 Profit Margin。
  4. 创建 Matrix,按 Country 检查结果。
  5. 添加 Year slicer,看 Measure 是否动态变化。

建议时间:20–25 分钟。


本节小结 ​

AI 辅助 DAX 的正确姿势:

业务定义写清楚 → AI 生成初稿 → 人工检查字段和口径 → 放入图表验证。

Saint-Gobain · AI + Power BI Internal Training · Lang Wu