学习CALCULATE函数

本文详细介绍了DAX公式在数据筛选和聚合操作中的多种应用场景,包括单条件与多条件筛选求和,计算不同层次的占比,以及创建结果可切片的筛选聚合模式。通过实例解析了如何利用ALL, ALLSELECTED, VALUES等函数灵活调整计算范围,以满足不同业务需求。
摘要由CSDN通过智能技术生成

1.单条件筛选求和

北京市间夜 = CALCULATE(SUM[入住间夜],FILTER(‘表’,[城市]=“北京市”))

2.多条件筛选求和

5月北京市R品牌间夜 = CALCULATE(SUM[入住间夜],FILTER(‘表1’,[城市]=“北京市”&&[品牌]=“R”),FILTER(‘表2’,[YYYYMM]=“202105”))

3.各种层次的占比

计算总体占比

DAX=DIVIDE(SUM(‘表’[求和项]),CALCULATE(SUM(‘表’[求和项]),ALL(‘表’)))

计算分类占比

DAX=DIVIDE(SUM(‘表’[求和项]),CALCULATE(SUM(‘表’[求和项]),ALL(‘表’[项目])))

计算筛选总体占比

DAX=DIVIDE(SUM(‘表’[求和项]),CALCULATE(SUM(‘表’[求和项]),ALLSELECTED(‘表’)))

计算筛选分类占比

DAX=DIVIDE(SUM(‘表’[求和项]),CALCULATE(SUM(‘表’[求和项]),ALLSELECTED(‘表’[项目])))

4.结果可切片的筛选聚合模式

所有城市该月间夜总和(可按月切片)=CALCULATE(SUM(‘表’[入住间夜]),ALL(‘表’[行政区-城市]),VALUES(‘日历表’[YYYYMM]))

上周总间夜(可按周切片)=CALCULATE(SUM(‘简约日报’[入住间夜]),ALL(‘简约日报’[省份]),DATEADD(‘日历表’[datekey],-7,DAY))

SUM(‘表’[入住间夜]),是为了聚合,后面所有的条件项都是为了这个聚合做准备。

ALL(‘表’[行政区-城市]),这个是为了清除所有切片、筛选效果,为后面重新定义求和范围做准备。

VALUES(‘日历表’[YYYYMM]),这是重新定义我们的计算范围,VALUES这个函数会受到切片的影响,然后返回唯一值,这不就符合我们的需求了么?选择YYYYMM月份,然后计算所有城市总和,该月所有城市总和是唯一的。
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值