GROUPBY

適用於:導出數據行計算數據表Measure視覺計算

注意

不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。

GROUPBY 函式類似於 SUMMARIZE 函式。 不過,GROUPBYnot 會對它新增的任何擴充數據行執行隱含 CALCULATE。 GROUPBY 允許新的函式 CURRENTGROUP,用於它所加入之擴充數據行中的聚合函數。 GROUPBY 可用來在單一數據表掃描中執行多個匯總。

語法

GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])

參數

術語 定義
table 傳回數據表的任何 DAX 表達式。
groupBy_columnName 數據表中現有數據行的名稱(orrelated 數據表中,要分組數據。 此參數不可以是表達式。
name 指定給新數據行的名稱,該數據行會加入 GroupBy 數據行清單中,並以雙引號括住。
expression 其中一個 X 聚合函數,其中 first 自變數 CURRENTGROUP()。 如需支援的 X 聚合函數完整清單,請參閱下方的with CURRENTGROUP 一節。

傳回 value

具有groupBy_columnName自變數之選取數據行的數據表,and 名稱自變數所指定的擴充數據行。

言論

  • GROUPBY 函式會執行下列動作:

    1. 從指定的數據表開始 (andallrelated 數據表方向為 “to-one” 的數據表)。

    2. 使用 GroupBy 數據行的 all 建立群組(步驟 1 中必須存在於數據表中)。

    3. 每個群組都是結果中的一個數據列,但代表原始數據表中的一組數據列。

    4. 針對每個群組,evaluate 要新增的擴充功能數據行。 不同於 SUMMARIZE 函式,not 執行隱含 CALCULATE,and 群組不會放入 filter 內容中。

  • 您 define 名稱的每個數據行都必須有對應的表達式;否則會傳回 error。 first 自變數 name 會定義結果中的數據行名稱。 表達式 second 自變數會定義執行以取得該數據行中每個數據列 value 的計算。

  • groupBy_columnName 必須是 related 數據表中的數據表 or。

  • 每個名稱都必須以雙引號括住。

  • 函式會將一組選取的數據列分組為一組摘要數據列,values 一個 or 多個groupBy_columnName數據行。 每個群組都會傳回一個數據列。

  • GROUPBY 主要用於對數據表表達式 DAX 的中繼結果執行匯總。 若要對模型中的實體數據表進行有效率的匯總,請考慮使用 SUMMARIZECOLUMNSorSUMMARIZE 函式。

  • 在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。

使用 CURRENTGROUP

CURRENTGROUP 只能在定義 GROUPBY 函式內擴充數據行的運算式中使用。 在effect中,CURRENTGROUP 會從屬於 GROUPBY 結果目前數據列之 GROUPBY 的數據表自變數傳回一組數據列。 CURRENTGROUP 函式只支援 and 自變數作為下列其中一個聚合函數的 first 自變數:AVERAGEXCOUNTAXCOUNTXGEOMEANXMAXXMINXPRODUCTXSTDEVX.SSTDEVX.PSUMXVARX.SVARX.P

下列範例 first 會使用 SUMMARIZECOLUMNS 函式,計算依國家/地區 andproduct 類別分組的總銷售額。 然後,它會使用 GROUPBY 函式,從 first 步驟掃描中繼結果,以 findproduct 類別中每個國家/地區的最大銷售額。

DEFINE  
VAR SalesByCountryAndCategory =  
SUMMARIZECOLUMNS(  
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])  
)  
  
EVALUATE
GROUPBY(  
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])  
)  

SUMMARIZE 函式
SUMMARIZECOLUMNS 函式