前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DAX进阶-死磕Calculate之1:改变筛选上下文之忽略(”删“)

DAX进阶-死磕Calculate之1:改变筛选上下文之忽略(”删“)

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

小勤:在文章《DAX入门:无动态,不智能——谈谈DAX函数的计算环境(筛选上下文)问题》里提到,默认情况下度量的计算是随着计算环境(筛选上下文)的选择而动态变化的,但有时候就是需要一些不变的情况,那怎么办?

大海:对的,实际工作中,经常会碰到这种情况,所以我们要让DAX能修改现有的计值上下文,不过,改变现有计值上下文的情况比较多,比如全部忽略、忽略一部分、用新的覆盖掉原来的、在原来的基础上再增加……

小勤:啊!没想到情况还有这么多……

大海:其实,总结起来就是“增”、“删”、“改”

小勤:对哦。那具体是怎样的?

大海:在DAX函数里,Calculate函数就是为我们提供这样的功能的。我们先从简单的开始,一样一样慢慢来。我们先来看“删”的,比如我们现在有一个度量是这样的:

我们在数据透视表里,这个量会随着行列维度(筛选上下文)而变化,结果如下:

如果我们要把这些筛选上下文去掉,即销售量不随相应的行列维度(筛选上下文)而变化,那么,我们就需要把这些影响计算的上下文给去掉(可以理解为“删”),这时就可以用Calculate函数加All函数来完成,度量如下:

我们把这个度量也放到透视表里看看:

小勤:这样两个维度都不起作用了。

大海:对的,也就是说,原来对影响度量计算相关的维度(筛选上下文)都被忽略(“删”)掉了。

小勤:那如果我们只需要忽略掉一部分呢?

大海:那我们就在All函数里写清楚要忽略的具体字段,比如我们写一个度量,只忽略销售人员的:

放到数据透视表里看看:

小勤:为什么其中只有B和C产品的忽略了销售人员呢?比如A产品的为什么不都是100呢?

大海:不是只有B和C产品忽略了,维度A产品和销售人员小勤的组合为空,是这种维度组合不存在。

小勤:原来这样。那如果需要忽略多个字段呢?

大海:All函数是支持多个参数的,你自己试试?

小勤:好,我大概想到了。

在线M函数快查及系列文章链接(建议收藏在浏览器中):

https://app.powerbi.com/view?r=eyJrIjoiZDVhZDBlMTYtNDkzNC00YWFjLWFhMmMtMmI3NTk2Y2ZhMzc3IiwidCI6ImUxMTAyMjkxLTNkYzUtNDA1OC1iMDc3LWQ0YzU4YWJkMWRkOCIsImMiOjEwfQ%3D%3D

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档