正文
今天我们来学习一个新的表函数,SUMMARIZE函数是DAX中的一个函数,它可以根据一列或多列对数据进行分组,并且可以使用指定的表达式为汇总后的表添加新列,形成一张新表。
一:基础语法
SUMMARIZE函数的语法是:
SUMMARIZE (表, 分组列1 [, 分组列2]… [, 名称, 表达式]…)
其中:
表,是任何返回数据表的DAX表达式。
分组列,是一个或多个用于创建分组的列的名称,这些列必须在表或与表相关联的表中存在。这个参数不能是一个表达式。
名称,是给汇总列或新建列的名称,用双引号括起来。
表达式,是任何返回单个标量值的DAX表达式,这个表达式会在每一行/上下文中多次求值。
二:案例举例
2.1 数据源及简述
如果经常使用pq的小伙伴,应该对分组依据这个功能很熟悉,其SUMMARIZE函数和分组依据功能一致。需要对照学习的朋友可以去下面链接,学习pq分组依据模块
https://www.cnblogs.com/simone331/p/17138143.html
今天的案例数据源如下所示:
2.2 具体操作
首先,由于是表函数,我们点击新建表,输入对应的dax
这里,我们的第一个需求是:分产品去统计销售金额
度量值构造如下:
简单解释一下下面的dax,上面我指定了数据源表为”分组依据数据源”表,根据表中的”商品”列进行分组,新增一列名为”商品销量”的列,列中的值为数据源表中的销售金额列的总和。
如果我现在新增一个需求,现在需要分门店属性、分产品统计销售金额呢?只需在第二参数,新增一个统计维度即可。度量值构造如下:
分门店属性分产品统计销售金额表 =
SUMMARIZE (
'分组依据数据源',
'分组依据数据源'[门店属性],
'分组依据数据源'[商品],
"商品销量",
CALCULATE (
SUM ( '分组依据数据源'[销售金额] )
)
)
三:总结
从上面的例子可以看出,SUMMARIZE可以让我们指定汇总的目标表,分组的依据列,以及新增字段去统计前面所选的依据列的值(这里可以是表达式),功能是相当强大的。
后续会有智能文本框的相关实例(智能显示TOPN文本信息),来进一步结合实例讲解SUMMARIZE函数。
如果本文有帮到你,请点赞、转发、收藏,感谢!我是simone,期待下次分享。