- 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]) )