事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
GROUPBY 函式類似於 SUMMARIZE 函式。 不過,GROUPBY 不會針對它新增的任何擴充數據行執行隱含 CALCULATE。 GROUPBY 允許新的函式 CURRENTGROUP,用於它所新增之擴充數據行中的聚合函數內。 GROUPBY 可用來在單一數據表掃描中執行多個匯總。
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
術語 | 定義 |
---|---|
table |
傳回數據表的任何 DAX 運算式。 |
groupBy_columnName |
要分組數據之數據表中現有數據行的名稱(或相關數據表中)。 此參數不可以是表達式。 |
name |
要新增至 GroupBy 資料行清單的新數據行名稱,以雙引號括住。 |
expression |
其中一個 X 聚合函數,第一個自變數為 CURRENTGROUP()。 如需支援的 X 聚合函數完整清單,請參閱下方的 With CURRENTGROUP 一節。 |
數據表,其中包含groupBy_columnName自變數的選取數據行,以及 name 自變數所指定的擴充數據行。
GROUPBY 函式會執行下列動作:
從指定的數據表開始 (以及 “to-one” 方向的所有相關數據表)。
使用步驟 1 的所有 GroupBy 數據行建立群組(必須存在於步驟 #1 的數據表中)。
每個群組都是結果中的一個數據列,但代表原始數據表中的一組數據列。
針對每個群組,評估要加入的擴充數據行。 不同於 SUMMARIZE 函式,不會執行隱含 CALCULATE,而且群組不會放入篩選內容中。
您定義名稱的每個數據行都必須有對應的表達式;否則會傳回錯誤。 第一個自變數 name 會定義結果中的數據行名稱。 第二個自變數expression會定義執行以取得該數據行中每個數據列值的計算。
groupBy_columnName
必須位於數據表或相關數據表中。
每個名稱都必須以雙引號括住。
函式會將一組選取的數據列,依一或多個groupBy_columnName數據行的值,將選取的數據列群組成一組摘要數據列。 每個群組都會傳回一個數據列。
GROUPBY 主要用於對 DAX 數據表表達式的中繼結果執行匯總。 若要在模型中對實體數據表進行有效率的匯總,請考慮使用 SUMMARIZECOLUMNS 或 SUMMARIZE 函式。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
CURRENTGROUP 只能在定義 GROUPBY 函式內擴充數據行的運算式中使用。 實際上,CURRENTGROUP 會從屬於 GROUPBY 結果目前數據列的 GROUPBY 數據表自變數傳回一組數據列。
下列範例會先使用 SUMMARIZECOLUMNS 函式,計算依國家/地區和產品類別群組在實體數據表上的總銷售額。 然後,它會使用 GROUPBY 函式來掃描第一個步驟中的中繼結果,以找出產品類別中每個國家/地區的最大銷售額。
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])
)
事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊