DAX:GROUPBY 嵌套聚合

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)中定義的計算列。

 

參考穩定:

Nested grouping using GROUPBY vs SUMMARIZE

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章