Calculate、Filter、EARLIER、USERELATIONSHIP、VAR
“Power BI的灵魂是Power Pivot,Power Pivot的灵魂是DAX,而DAX的灵魂是它们”——心至无悔
一、CALCULATE:DAX中最强大的函数
1.1 CALCULATE函数基础
语法结构:
CALCULATE(<expression>, <filter1>, <filter2>, ...)
核心功能:
CALCULATE是DAX中最重要的函数,它修改筛选上下文来计算表达式。理解CALCULATE是掌握DAX的关键。
1.2 CALCULATE的工作原理
基本示例:
总销售额 := SUM(Sales[Amount])
华东区销售额 := CALCULATE([总销售额], Region[RegionName] = "华东")
筛选上下文修改:
// 计算2023年电子产品销售额
电子产品销售额2023 :=
CALCULATE(
[总销售额],
Product[Category] = "电子产品",
'Date'[Year] = 2023
)
1.3 CALCULATE的高级用法
与ALL函数配合:
// 计算某产品占所有产品销售额的比例
销售占比 :=
DIVIDE(
[总销售额],
CALCULATE([总销售额], ALL(Product))
)
时间智能计算:
// 计算上月销售额
上月销售额 :=
CALCULATE(
[总销售额],
PREVIOUSMONTH('Date'[Date])
)
1.4 CALCULATE的注意事项
- CALCULATE会覆盖现有的筛选上下文
- 筛选参数是AND逻辑关系
- 可以使用KEEPFILTERS保持现有筛选器
// 保持现有筛选器
销售占比保持筛选 :=
DIVIDE(
[总销售额],
CALCULATE([总销售额], ALL(Product), KEEPFILTERS(Product[Category]))
)
二、FILTER:精细化数据筛选
2.1 FILTER函数基础
语法结构:
FILTER(<table>, <condition>)
核心功能:
FILTER返回一个表,其中只包含满足条件的行。它通常与CALCULATE或其他需要表作

最低0.47元/天 解锁文章
532

被折叠的 条评论
为什么被折叠?



