【发布时间】:2018-08-15 05:13:24
【问题描述】:
【问题讨论】:
标签: dax powerpivot
【问题讨论】:
标签: dax powerpivot
假设您的表名为“DimShow”,则以下 DAX 应该可以解决问题:
LOOKUPVALUE(
'DimShow'[Quarter],
'DimShow'[ID], 'DimShow'[ID],
'DimShow'[Rank],
CALCULATE(
MIN('DimShow'[Rank]),
ALLEXCEPT('DimShow', 'DimShow'[ID])
)
)
解释: 我们想从 [Quarter] 列中查找与当前行具有相同 [ID] 的值。同时,[Rank]值应该是与当前行具有相同[ID]的所有行的最小值。
请注意,如果在特定 [ID] 内同一(最低)排名有多个不同的 [Quarter] 值,则会产生错误。
【讨论】:
我通常使用一个变量来做到这一点:
Show =
VAR TopRank = CALCULATE(MIN(Table1[Rank]), ALLEXCEPT(Table1, Table1[ID]))
RETURN CALCULATE(
MAX(Table1[Quarter]),
ALLEXCEPT(Table1, Table1[ID]),
Table1[Rank] = TopRank)
TopRank 变量计算ID 的最高排名。第二行本质上是查找该等级的 Quarter 值和 ID 的值。
【讨论】: