🎯 VAR 在 DAX 中是一个超实用的关键字,用来声明变量,让你的公式更清晰、复用性更强、性能更好。特别是当你有重复的计算表达式或想拆解逻辑步骤时,VAR 就能大显身手了!
✅ 基本语法
<度量名> =
VAR 变量名 = 表达式
RETURN 表达式或公式中使用变量
🎯 示例 1:计算利润率
利润率 =
VAR 销售额 = SUM(Sales[Amount])
VAR 成本 = SUMX(Sales, Sales[Quantity] * RELATED(Product[Cost]))
VAR 利润 = 销售额 - 成本
RETURN
DIVIDE(利润, 销售额)
✅ 优点:
- 逻辑清晰,像写代码一样
- 避免重复写
SUM(...)这些语句 RETURN后面是最终结果,前面是变量准备过程
🎯 示例 2:判断利润率高低
利润等级 =
VAR 销售额 = SUM(Sales[Amount])
VAR 成本 = SUMX(Sales, Sales[Quantity] * RELATED(Product[Cost]))
VAR 利润率 = DIVIDE(销售额 - 成本, 销售额)
RETURN
SWITCH(
TRUE(),
利润率 >= 0.3, "高利润",
利润率 >= 0.1, "中利润",
"低利润"
)
📌 使用 VAR 的 3 大优点:
| 优点 | 说明 |
|---|---|
| 📖 更易读 | 拆成小步骤,逻辑清楚 |
| 🚀 性能好 | 一个变量只计算一次,比多次重复计算快 |
| 🔁 代码可复用 | 多次使用同一个值时,不需要重复写公式 |
🧠 小技巧
VAR可以定义多个变量,不限数量RETURN是必须写的,用来输出最终结果VAR可以嵌套CALCULATE()、SUMX()、FILTER()等任何复杂函数
🔥 快速应用场景
| 场景 | 用法示例 |
|---|---|
| 计算利润 | 用变量分别定义销售额、成本 |
| 数据比较 | 定义当前值、上一期值,比较变化 |
| 评级判断 | 用变量简化判断逻辑 |
| 多重嵌套函数优化 | 把重复的 CALCULATE(...) 提出来 |
🏁 总结口诀:
🔸 想让公式清晰又强大?用
VAR + RETURN拆解步骤
🔸 多次用到的计算?提成VAR节省性能!