SUMMARIZE 是 DAX 中最常用的函数之一。它扫描作为第一参数的表,使用表中的列或对应的扩展表中的一列或多列执行分组。
语法
SUMMARIZE ( <表>, <分组列>, [<分组列>], [ [<列名 1>, <表达式 1>],[<列名 2>, <表达式 2>] … ] )
参数 | 属性 | 描述 |
表 | 表或返回表的 DAX 表达式 | |
分组列 | 可重复 | 用于分组的列,不能使用表达式。可以被 ROLLUP 函数调用以计算小计 |
列名 | 可选 可重复 不推荐 |
派生列的列名 |
表达式 | 可选 可重复 不推荐 |
派生列使用的表达式,同时在行上下文和筛选上下文中计值。 |
返回值
表
整个表或具有一列或多列的表
包含分组列参数所指定的列,以及新建的派生列。
备注
分组列必须是第一参数表中的列,或者是其扩展表中的列。
使用 SUMMARIZE 对表进行分组是一个安全的操作,但不建议使用 SUMMARIZE 添加列。当需要新增列时,可以使用 SUMMARIZECOLUMNS(用于查询)或 ADDCOLUMNS + SUMMARIZE(用于度量值)。
每个列名都必须具有一个对应的表达式;否则将返回错误。 <列名>定义结果中新列的名称,需使用双引号括起来。 <表达式>定义了为新列的每一行计值的表达式。
示例
---- 推荐用法,执行分组 ---- SUMMARIZE ( Sales, 'Product'[Product Name], 'Date'[Date] ) ---- 不推荐新建派生列 ---- SUMMARIZE ( Sales, 'Product'[Product Name], 'Date'[Date], "销售数量", SUM ( Sales[Quantity] ) //不推荐 )
---- 为分组列添加小计 ---- SUMMARIZE ( Sales, ROLLUP ( 'Product'[Category], 'Date'[Calendar Year] ), "Sales", [Sales Amount] )
深入了解 SUMMARIZE 函数:
说点什么