热线电话:13121318867

登录
2018-11-01 阅读量: 1042
Calculateh函数

CALCULATE的语法结构

语法:

CALCULATE(,,…)

第一个参数是计算表达式,可以执行各种聚合运算

从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔

所有晒选条件的交集形成最终的筛选数据集合

根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果

前文提到DAX函数可以更改外部上下文,现在通过实例来理解DAX中最精髓的函数CALCULATE的计算原理,并看看它是如何更改外部上下文的。

01 | 筛选条件为空,不影响外部上下文

现在开始用CALCULATE函数创建一个度量值:

产品数量1 = CALCULATE([产品数量])

02 | 添加限制条件,缩小上下文

建一个度量值[产品数量2],

产品数量2 = CALCULATE([产品数量],'产品明细'[品牌]="苹果")

03 | 结合ALL函数,扩大上下文

新建度量值[产品数量3],

产品数量3 = CALCULATE([产品数量],ALL('产品明细'))

04 | 重置上下文

新建度量值[产品数量4],

产品数量4 = CALCULATE([产品数量],

                                        all('产品明细'[产品名称]),

                                       '产品明细'[类别]="")

先用ALL函数清除外部上下文,然后又新增了一个筛选条件,类别为"手机"的产品数量.

通过从第二个参数开始的筛选条件,得到一个数据集合,并利用第一个参数执行聚合运算,这不就是DAX要实现的功能:提取有用数据并执行聚合运算吗,所以说CALCULATE几乎就是DAX本身,它就是实现DAX功能的引擎,并能灵活的操控外部上下文,后面的数据分析也都离不开CALCULATE的身影。

0.0000
5
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子