4.1 DAX中的常用聚合函数

本节中我们来认识DAX中最常用的一些聚合函数。什么叫聚合呢?其实就是按照给定的条件给数据降维的过程。譬如我们的销售表中可能有几万行数据,但做统计时,每天的销售额就只是一个汇总求和后的数字,这一步就是按照日期维度来做聚合。

经常使用透视表的同学可能会对这个概念接受得比较快,事实上在使用Power BI的过程中,多多运用透视表的思维是非常有效的。Power BI与excel最大的不同就在于,这里的数据是按存储和使用的,在视觉对象中的每个条/柱、每个数据点都是在当前维度下聚合而来的结果,因此我们写的各类度量值时,不会像在excel中一样需要给行标列标,都是只给出涉及的字段和需要的聚合方式。当度量值被放入视觉对象中时,才会按照当前所处的上下文条件进行运算,并返回计算结果。

Sum/Average/Max/Min

sum无疑是最常用的聚合函数,毕竟日常的大部分指标在汇总时都是求和的关系,也因此不论是PBI还是excel透视表,甚至tableau等其它BI软件中,数值类字段的默认聚合都是sum。

这部分我们在前文(DAX语言基础-度量值与上下文)中已经有过涉及,未来在其它函数的学习中,也会不断地用到sum。

其余如average,max,min等都与excel中的用法相同,分别用于求均值和极值(max和min不但对数值有效,对日期型也有效)。

Countrows/Counta/CountBlank/DistinctCount

count开头的这一组函数,很显然都是用于计数的,我们针对之前示例数据的国家表,编写如下度量值:

CountRows = COUNTROWS('国家表')  // 行计数
CountA = counta('国家表'[国家名称])  // 非空项计数
CountBlank = countblank('国家表'[国家名称])  // 空值计数
DistinctCount = DISTINCTCOUNT('国家表'[国家名称])  // 非重复项计数
DistinctCountNoblank = DISTINCTCOUNTNOBLANK('国家表'[国家名称])  // 非空非重复项计数

将上述度量值放入多行卡,得到以下结果:

可以看出,该表共有266行,按“国家名称”字段计数,非空值有264个,空值2个,求和正好是266无误,

非重复值计数结果是265,对非空值去重计数是264,说明那个重复值是2个重复的空行。

在数据视图中观察该表,果然一点不差:

这一组公式很好记忆,除了countrows是输入是表外,其余的都是对字段计数。而且如果数据比较规范的话,最多用的就只有countrows和distinctcount。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值