- DAX 函数教程
- DAX 函数 - 首页
- DAX 函数 - 简介
- DAX 参数命名约定
- 描述结构
- DAX 函数 - 聚合
- DAX 函数 - 筛选
- DAX 函数 - 时间智能
- DAX 函数 - 日期和时间
- DAX 函数 - 信息
- DAX 函数 - 逻辑
- 数学和三角函数
- DAX 函数 - 父子关系
- DAX 函数 - 统计
- DAX 函数 - 文本
- DAX 函数 - 其他
- DAX 函数有用资源
- DAX 函数 - 快速指南
- DAX 函数 - 有用资源
- DAX 函数 - 讨论
DAX 其他 - GROUPBY 函数
描述
返回一个包含一组选定列的表。允许在它添加的扩展列中的聚合函数中使用 DAX CURRENTGROUP 函数。GROUPBY 尝试重用已分组的数据,使其具有高性能。
DAX GROUPBY 函数类似于 DAX SUMMARIZE 函数。但是,GROUPBY 不会对其添加的任何扩展列进行隐式 CALCULATE。
DAX GROUPBY 函数是 Excel 2016 中的新增功能。
语法
GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)
参数
| 序号 | 术语和定义 |
|---|---|
| 1 |
table 任何返回数据表的 DAX 表达式。 |
| 2 |
groupBy_columnName1 表中(或相关表中)现有列的名称,数据将按其进行分组。 此参数不能为表达式。 |
| 3 |
name 赋予添加到 GroupBy 列列表的新列的名称,用双引号括起来。 |
| 4 |
expression 任何返回单个标量值的 DAX 表达式,其中表达式将针对每组 GroupBy 值进行计算。
|
返回值
一个包含 groupBy_columnName 参数的选定列和 name 参数指定的按组列的表。
备注
GROUPBY 函数执行以下操作:
从指定的表(以及“一对一”方向中的所有相关表)开始。
使用所有 GroupBy 列(这些列必须存在于步骤 1 中的表中)创建分组。
每个组在结果中是一行,但代表原始表中的一组行。
对于每个组,评估正在添加的扩展列。与 SUMMARIZE 函数不同,不会执行隐式 CALCULATE,并且该组不会放入筛选上下文。
参数
为其定义名称的每一列都必须具有相应的表达式。否则,将返回错误。
第一个参数 name 定义结果中列的名称。第二个参数 expression 定义执行的计算以获得该列中每一行的值。
每个名称都必须用双引号括起来。
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]) )