结合使用Group By和Max功能DAX

时间:2018-09-07 06:48:29

标签: group-by max dax

我有一个如下表:

enter image description here

,我想按日期和名称分组,然后按汇率的最大值排序。我使用这样的表达式:

NewTable =
CALCULATETABLE (
    Table1,
    GROUPBY ( Table1, Table1[Day], Table1[Name], "maxrate", MAX ( Table1[Rate] ) ))

但是我收到一个错误。谁能解释max和group by如何在DAX中一起使用?

1 个答案:

答案 0 :(得分:2)

只需使用SUMMARIZE函数代替GROUPBY:

New Table  = SUMMARIZE (Table1, Table1[Day], Table1[Name], "maxrate', MAX(Table1[Rate]))

GROUPBY需要一个迭代器(例如MAXX)。例如,假设您的表格具有费率和数量,并且您要计算最大金额(费率*数量)。然后,您应该使用GROUPBY:

New Table =
GROUPBY (
    Table1,
    Table1[Day],
    Table1[Name],
    "Max Amount", MAXX ( CURRENTGROUP (), Table1[Rate] * Table1[Quantity] )
)

在这里,您首先按日期和名称对table1进行分组,然后对当前分组进行迭代,以找到最大金额。

在某些复杂的情况下,GROUPBY非常方便,但是您的情况似乎很简单。