偶然发现了这篇我在2017年刚接触Power BI时写的文章,就转到这里和大家聊聊吧
正文
起因是QQ群里的一个问题,即
- 相关参考数据如下(当然是我合理去敏感化和简化的),且叫这张表为“源数据”吧,由于我更喜欢使用PowerPivot,以下操作均在EXCEL中模拟;
- 在Power BI中先使用SUMMARIZE创建一张表;想要进行工程大类和销售额的汇总聚合,但是对于销售额仅仅只取工程大类为A的数据,那么公式如下
SUMMARIZE('源数据',[工程大类],"A总销售额",CALCULATE(SUM('源数据'[销售额]),'源数据'[工程大类]="A"))
- 我们来看看效果
- 其实拿到这个问题时,我最先想到的是SUMX和FILTER的组合,那么代码如下
SUMMARIZE('源数据',[工程大类],"A总销售额",SUMX(FILTER('源数据','源数据'[工程大类]="A"),'源数据'[销售额]))
- 我们同样来看看效果
- 其实是一样的,但是吧由于SUMX是迭代函数,根据行计算,在数据庞大是,效率是不如CALCULATE的。