DAX 其他 - GROUPBY 函数
描述
返回包含一组选定列的表。允许 DAX CURRENTGROUP 函数在其添加的扩展列中的聚合函数内使用。GROUPBY 尝试重用已分组的数据,使其性能更高。
DAX GROUPBY 函数类似于 DAX SUMMARIZE 函数。但是,GROUPBY 不会对其添加的任何扩展列执行隐式计算。
DAX GROUPBY 函数是 Excel 2016 中的新功能。
语法
GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)
参数
Sr.No. | 术语和定义 |
---|---|
1 |
table 任何返回数据表的 DAX 表达式。 |
2 |
groupBy_columnName1 表中(或相关表中)现有列的名称,数据将根据该列进行分组。 此参数不能是表达式。 |
3 |
name 要添加到 GroupBy 列列表中的新列的名称,用双引号括起来。 |
4 |
expression 任何返回单个标量值,其中表达式将针对每组 GroupBy 值进行求值。
|
返回值
包含 groupBy_columnName 参数选定列和 name 参数指定的分组列的表。
备注
GROUPBY 函数执行以下操作 −
从指定的表(以及所有相关表)开始在"一对一"方向上)。
使用所有 GroupBy 列(这些列必须存在于步骤 1 中的表中)创建分组。
每个组在结果中占一行,但代表原始表中的一组行。
对于每个组,评估要添加的扩展列。与 SUMMARIZE 函数不同,不会执行隐式 CALCULATE,并且不会将组放入筛选上下文中。
参数
您为其定义名称的每个列都必须具有相应的表达式。否则,将返回错误。
第一个参数 name 定义结果中列的名称。第二个参数表达式定义了为获取该列中每行的值而执行的计算。
每个名称都必须用双引号括起来。
groupBy_columnName 必须位于表或相关表中。
该函数根据一个或多个 groupBy_columnName 列的值将选定的一组行分组为一组摘要行。每个组返回一行。
CURRENTGROUP ()
CURRENTGROUP 函数只能在定义 GROUPBY 函数内列的表达式中使用。
CURRENTGROUP 从 GROUPBY 的表参数中返回一组属于 GROUPBY 结果当前行的行。
CURRENTGROUP 函数不接受任何参数,仅支持作为以下聚合函数之一的第一个参数:AverageX、CountAX、CountX、GeoMeanX、MaxX、MinX、ProductX、StDevX.S、StDevX.P、SumX、VarX.S、VarX.P。
示例
= GROUPBY ( Sales,Sales[Salesperson],Products[Product],"Total Sales", SUMX (CURRENTGROUP (),[Sales Amount]) )