我有一个如下表:
,我想按日期和名称分组,然后按汇率的最大值排序。我使用这样的表达式:
NewTable =
CALCULATETABLE (
Table1,
GROUPBY ( Table1, Table1[Day], Table1[Name], "maxrate", MAX ( Table1[Rate] ) ))
但是我收到一个错误。谁能解释max和group by如何在DAX中一起使用?
答案 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非常方便,但是您的情况似乎很简单。