不问花开几许,只愿浅笑安然
除了求和,另一个日常工作中最常用到的聚合方式应该是计数了。DAX提供了一系列关于计数的函数。他们可以帮助我们计算表中有多少行或者某个值出现了多少次。
DAX中包含的计数函数有:
一、计数与不重复计数
假设我们想看看不同产品类别中有多少种产品,并且想知道这些产品是不是多卖出去过(有交易记录)。我们就可以使用以上函数实现。在Power Pivot中建立一下度量值:
产品数量:=COUNT('产品表'[产品名称])
已销售产品:=DISTINCTCOUNT('订单表'[产品代码])
将产品类别设置成数据透视表的行标签,将以上两个度量值拖放到值区域,可以得到我们想要的计算结果。
观察办公用品中的结果可知:办公用品分类一共有8中产品,但实际有销售出去的仅有2中种,其他的产品都未出售过,需要进一步了解原因。
两个度量值使用的列是来自不同的表的,虽然他们都代表了产品名称。它们返回结果的业务意义是不同的。
我们曾经讲过普通的数据透视表无法进行非重复计数,而基于Power Pivot数据模型的数据透视表,更改汇总方式时不重复计数是可用的,其背后的原始其实是因为DISTINCTCOUNT()函数的存在。该函数对于列中的同一个值仅计算一次。
二、对行计数
COUNTROWS()函数与其他计数函数不同点之一就是它接受的参数是表。而其他计数函数接受的参数都是列。
COUNTROWS()函数对表中的行进行计数,不管行中是否有空值,都会计算一次。大多数情况下它与COUNT()函数都是可以互相替代使用的。具体选择哪个函数需要视业务情况决定。
在模型中增加以下两个度量值:
销售量:=COUNT('订单表'[产品代码])
销售量_COUNTROWS:=COUNTROWS('订单表')
将它们放在数据透视表的值区域将得到一样的结果。
如果你想从零开始学 Power BI,可以在公众号后台回复「极简入门」,获取PowerBI入门教程;或者回复「PQ入门」,免费获取PQ实战案例教程。
欢迎关注作者新书
发布:刘恩惠
审核:陈歆懿
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连
热文推荐
独家!【隐秘而伟大】这群神秘的程序员,干了票大的
1024程序员节 | 国内顶尖优质原创,致敬每一位可爱的你~~
1024程序员节 | 这份“反内卷”书单请查收!
千万级高并发秒杀系统设计套路!超详细解读~~
▼点击阅读原文,了解本书详情~
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有