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

posted @ 2024-03-21 18:11  悦光阴  阅读(100)  评论(0编辑  收藏  举报