前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DAX进阶-ALL函数的理解雷区!

DAX进阶-ALL函数的理解雷区!

作者头像
大海Power
发布2021-08-30 11:22:53
8040
发布2021-08-30 11:22:53
举报
文章被收录于专栏:用户8950297的专栏

在文章《死磕Calculate之1:改变筛选上下文之忽略(”删“)》里,我说“把筛选上下文给去掉(删),用All函数”,如下所示:

这里面,可能强调得不够的是,对于All函数,很多朋友可能会理解为是用某表的“全部”作为筛选条件,毕竟All这个单词也有这方面的意思,而且,在DAX公式相对简单的情况下,这种基本的理解也很少会有什么问题,但是,如果碰到今天在群里这个购物篮分析的问题,可能就会犯迷糊了:

注:Calculatetable和Calculate函数类似。

这里,如果你把All('课程表A')和All('课程表B')理解为按照课程表A或课程表B的所有内容进行筛选,那你就会想,因为课程表A和课程表B不是一摸一样的吗?那结果就应该是一样的哦。

——这其实就是对All函数理解最容易出现的误差,因此,再次强调:All函数是用来“忽略(删除)计值上下文筛选器”的,不是用来输入筛选条件的!

所以,当我看到一个DAX公式时,首先要考虑的是,该公式当前的计值上下文是什么?回到这个购物篮分析的问题,度量如下:

该度量的应用环境如下:

显然,度量“共同购买的数量”当前的筛选上下文有两个:课程A和课程B,那么对于公式:

Calculatetable(

values('销售订单表'[买家]),

all('课程表B')

)

其中,values('销售订单表'[买家])首先会受到筛选器“课程A”和“课程B”的共同影响,然后,通过all('课程表B')忽略(删)掉“课程表B”这个筛选器,因此最终得到的是根据筛选器“课程A”得到的结果。

同样的,对于另一条关于All('课程表A')的结果也可以这样理解。


首期关于《Excel报表自动化及Power BI入门案例介绍》已在千聊开播,借实际企业案例,讲述Power BI如何使企业数据分析真正创造效益,欢迎观看。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档