GROUPBY函數的作用是根據輸入的表進行數據聚合,輸入的表可以是表表達式,也就是說,GRUOPBY的參數可以是一個動態查詢返回的表,也就是說GROUPBY函數主要用於嵌套聚合的情況。
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
GROUPBY函數使用一個新的函數CURRENTGROUP,用於訪問內層聚合函數定義的擴展列(或稱計算列)。舉個例子:
[Average Price]是內層GROUPBY函數中定義的一個Measure,外層的GROUPBY函數直接引用,並使用CURRENTGROUP()函數把Measure的計算限制在當前的分組。
EVALUATE
GROUPBY
(
GROUPBY
(
Product
,
'Product Category'[Category]
,
'Product Subcategory'[Subcategory]
,
"Average Price"
,
AVERAGEX
(
CURRENTGROUP
(
)
,
Product[Unit Price]
)
)
,
'Product Category'[Category]
,
"Max SubCat Avg Price"
,
MAXX
(
CURRENTGROUP
(
)
,
[Average Price]
)
)
GROUPBY函數主要用於嵌套分組操作,可以在最裏面的分組(group)中使用 SUMMARIZE,但必須使用 GROUPBY 才能訪問內層分組(inner group)中定義的計算列。
參考穩定: