DAX函数篇:84集calculate的3种筛选器参数。
加我微信(cdduenze)领资料进学习群,绝对是本人。DAX函数篇:84集calculate的3种筛选器参数。
欢迎来到5分钟powerBl学院calaulate函数进阶专题,我又要强烈建议你先去回顾一下第39节课程。"关于筛选上下文的内容",筛选上下文指的就是来自图表本身切片器和其他视觉对象的筛选效果。
筛选上下文会首先对数据表进行筛选,而度量值在筛选过后的表上去完成计算。这些筛选效果可以统称为外部筛选上下文,也就是来自度量值代码之外的筛选效果。Calculate函数的作用就是在度量值代码的内部对筛选上下文进行操作,这句话如果还不理解没有关系,随着学习的深入,会对它越来越理解的。

再来看看calculate的函数格式,函数的第一个参数为表达式或者是一个度量值,而后续的参数为筛选器参数。在这里可以传入三种不同类型的筛选器参数,分别是布尔表达式、返回表的表达式以及调节器函数。

接下来就分别看看这三种类型的筛选器参数:第一个是布尔表达式,这个应该非常熟悉了,值得注意的是直接写一个布尔表达式,黄色它本质上是省略了fie和al函数的一种简写方式,这个度量值对对应的完整写法在这里。
如果你认真学习了第83节课程关于ite和all数的万千组合,那么这段代码对你来说应该非常简单。我们知道ing函数的返回结果是一张表,因此在这里iter函数就是之前所提到的calau马背函数的第二种筛选器参数,返回表的表达式。

最后再来看一看第三种类型的筛选器参数调节器函数。什么是调节器函数?其实你早就已经使用过了,它就是use relationship,函数回到power bi的模型页面。
在我们的模型中,日期表的 beta 列和销售记录表的订单日期、发货日期、到货日期之间建立了三条一端到多端的关系。而默认生效的是日期表的 date列和销售记录表的订单日期列。而如果我们想基于发货日期来统计订单的发货量,就必须用 use relationship 函数激活指定的表关系。回到报告页面,在度量值发货量的代码当中,你可以看到我们用 user relationship函数激活了 date列和发货日期系列之间的关系。

在这里,use relationship函数并没有引入新的筛选上下文,它仅仅是在计算的时候去激活了指定的表关系。这种函数被称为调节器函数,在后续的课程中还会学习更多的调节器函数。接下来的课程将学习如何计算各种百分比。