前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习CALCULATE函数(四)

学习CALCULATE函数(四)

原创
作者头像
PowerBI丨白茶
修改2021-09-01 14:38:10
4700
修改2021-09-01 14:38:10
举报
文章被收录于专栏:PowerBI

生活就像一盒巧克力,你永远不知道下一颗是什么味道。

                                                  ——《阿甘正传》

在学习CALCULATE过程中,白茶发现了,基本上这个函数是我们使用率最高的一个函数,普通的聚合用SUM、SUMX就可以,但是一旦涉及到有条件聚合的时候,基本上都离不开CALCULATE。而且在日常处理数据时,各式各样的情况层出不穷,本次呢,白茶分享一下以点带面的筛选聚合模式。

(这里感谢群里@韭菜大佬的点拨,不然会在这里卡很久。)

话不多说,咱来看示例文件:

这是白茶做的示例文件,但是思路都是一样的,只是具体内容上有区别。说一下什么意思,就是我们在对某个店进行销售分析的时候,往往需要体现这个地点占总体的比例,这个昨天的文章已经说了,可是我不光想看占比,我还想看具体的数值,例如:当我选择大连的时候,我需要显示大连这个城市和整个辽宁省整体的状况,该如何处理呢?

可能有的小伙伴会说了,白茶,就你事多,我自己做看分层占比就好了。之前就曾提到过,我们做报表,有时候不单单是只给自己看,还要简化的能直观呈现给别人,能把自己的思想表达出来,对吧。来,我们继续:

当时我的想法就像下面一样,用ALL清除外部筛选,然后重新定义上下文,然后,就没有然后了。

这里用的公式如下:

代码语言:txt
复制
DAX=
CALCULATE(SUM('表'[求和项]),ALL('表'[地点]))

和昨天的一样,但是后面卡主了,不知道怎么二次定义上下文。

曾想过说先用ALL,再用FILTER进行筛选,可是引出了一系列的小坑,比如说建立维度啊,索引啊,但是都绕不过之前的问题,无法选定某个区域,后来韭菜大佬点醒了我。

用VALUES!

将代码修改如下:

代码语言:txt
复制
DAX=
CALCULATE(SUM('表'[求和项]),ALL('表'[地点]),VALUES('表'[省份]))

结果如下:

这次结果是符合我们预期的,解释一下各部分的用意:

CALCULATE(SUM('表'求和项,这个之前提到过,是为了聚合,后面所有的条件项都是为了这个聚合做准备。

ALL('表'地点),这个是为了清除所有切片、筛选效果,为后面重新定义求和范围做准备。

VALUES('表'省份),这是重新定义我们的计算范围,VALUES这个函数会受到切片的影响,然后返回唯一值,这不就符合我们的需求了么?选择城市,然后计算整个省份的数值,省份是唯一的。


小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球PowerBI丨需求圈)

这里是白茶,一个PowerBI的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

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