dax-分类汇总
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dax-分类汇总相关的知识,希望对你有一定的参考价值。
荒废hin久了,再重新捡起来学习学习……
对这个表分类汇总
记得是说earlier函数很好用,但是用var来替代earlier会跑的更快,先复习起来
1、earlier函数 calculate和sumx相同
①【列1】=calculate(sum(‘表1‘[奖金]),filter(‘表1‘,earlier(‘表1‘[部门])=‘表1‘[部门]))
②【列2】=sumx(filter(‘表1‘,‘表1‘[部门]=EARLIER(‘表1‘[部门])),‘表1‘[奖金])
2、var替代使用 calculate和sumx相同
①【列1-1】=var bumen=[部门] return CALCULATE(sum([奖金]),FILTER(‘表1‘,‘表1‘[部门]=bumen))
②【列2-2】=var bumen2=‘表1‘[部门] return sumx(filter(‘表1‘,‘表1‘[部门]=bumen2),‘表1‘[奖金])
earlier跟>=或<=一起使用表示按某列升序/降序累计求和
①【列3】=CALCULATE(sum(‘表1‘[奖金]),FILTER(‘表1‘,EARLIER(‘表1‘[部门])<=‘表1‘[部门]))
按部门列降序累计求和
②【列4】=CALCULATE(sum(‘表1‘[奖金]),FILTER(‘表1‘,EARLIER(‘表1‘[部门])>=‘表1‘[部门]))
按部门列升序累计求和
var同理
百度的时候发现了一个很好用的函数allselected()。
分组求和:=CALCULATE(sum(‘表1‘[奖金]),ALLSELECTED(‘表1‘[姓名]))
占比1:=占比1:=DIVIDE(sum(‘表1‘[奖金]),CALCULATE(sum(‘表1‘[奖金]),ALLSELECTED(‘表1‘[部门])))
占比2:=divide(sum(‘表1‘[奖金]),分组求和)
以上是关于dax-分类汇总的主要内容,如果未能解决你的问题,请参考以下文章