聚合函数
在度量值公式栏里,无论你输入'还是[,智能提示的都不会是列,而是其他已创建好的度量值,所以度量值是不可以直接引用列的。比如'咖啡数据表'中的[数量]列, 该表有近3万行,把这3万行的数据放入度量值中是没有任何意义的。度量值输出的是一个计算结果,所以我们只有用聚合函数求计算列的聚合值才有效。
聚合函数与Excel的基本计算函数是非常相像的,区别是Excel引用的是单元格,而DAX引用的是列。我们仍在咖啡数据表的基础上来完成:
1.求咖啡卖的杯数[销售量]=Sum('咖啡数据'[数量]);
2.求[平均杯数]=Average('咖啡数据'[数量]);注意公式栏里的解释也是非常有用的提示。
3.如果每一行数据视为一位顾客购买的订单,求订单中最大的杯数[最大杯数]=Max('咖啡数据'[数量]);
4.求订单的数量[订单数]=Countrows('咖啡数据'),这里你发现,聚合函数不仅可以引用列还可以引用表,Countrows即计算表的行数。
5.求我们在全国有多少个城市分店[城市数量]=distinctcount('咖啡数据'[城市]), Distinctcount是计算列中不重复值的数量。
上面5个函数的计算结果如下表。同理,计算最小值用Min,计算空白项个数Countblank,还有Count,CountA(计算列中不为空的数目)等等。这些道理是一模一样,大家自行挖掘,也可以随用随查。