创建 DAX 度量的方法

Power BI 中的 DAX 函数

Carl Rosseel

Curriculum Manager

隐式 vs 显式度量值

隐式

  • 由 Power BI 自动创建
  • 直接来自数据库
  • 例如:将 Sales 拖到表的值区域,Power BI 会自动求和
  • 通过下拉菜单可选择聚合:求和、平均、计数等

显式

  • 以显式方式编写度量值
  • 例如:Total Sales = SUM(Orders[Sales])
  • 提供更高灵活性
Power BI 中的 DAX 函数

为何优先使用显式度量值

  • 降低对度量值含义的困惑
    • Total Sales = SUM(Orders[Sales])
    • Total SalesSales 更清晰(SUM、AVG、MIN 等?)
  • 可在其他度量中复用
    • Total Sales East = CALCULATE([Total Sales],Orders[Region] = 'East')
  • 可自定义名称以说明用途
  • 使复杂模型更易维护
Power BI 中的 DAX 函数

最佳实践

  • 将 DAX 度量值分组管理:
    • 度量值可放在任意表中
    • 与计算列相反,计算列属于特定表

Screenshot 2021-07-22 at 11.22.15.png

  • 用 DAX 进行格式化与注释:
    • 使用缩进提高可读性
      • Shift+Enter 换行
      • Tab 缩进
    • 使用 // 添加注释
Power BI 中的 DAX 函数

用变量优化公式

  • 将表达式结果存为具名变量
  • 可作为其他度量表达式的参数

  • 四大优点:

    • 提升性能
    • 提高可读性
    • 简化调试
    • 降低复杂度

语法:

  • VAR <name> = <expression>
    • Name = 变量名
    • 返回标量或表值的 DAX 表达式
    • 后接 RETURN 语句
Power BI 中的 DAX 函数

用变量优化公式 - 示例

  • 计算上一年的销售额并存为变量
VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN
  • 在公式中使用该变量
Sales growth = [Sales] - SALESPRIORYEAR
Power BI 中的 DAX 函数

用变量优化公式 - 示例

  • 综合起来如下:
Sales growth = 

VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN

Sales growth = [Sales] - SALESPRIORYEAR
Power BI 中的 DAX 函数

Ayo berlatih!

Power BI 中的 DAX 函数

Preparing Video For Download...