Проблема в том, что вы пытаетесь найти значение VarB
для Group
, которое соответствует вашему MaxVal
. Это не имеет смысла, так как вы, вероятно, не хотите сопоставлять число Group
со значением VarB
. Он возвращает несколько значений, поскольку каждая группа имеет несколько VarB
значений, связанных с ней.
Я думаю, вам нужно следующее:
MaxDiff =
VAR CurrGroup = Table1[Group]
VAR MaxVal = CALCULATE(MAX(Table1[VarB]), ALL(Table1), Table1[Group] = CurrGroup)
VAR MinIndex = CALCULATE(MIN(Table1[Index]), ALL(Table1), Table1[Group] = CurrGroup)
RETURN MaxVal - LOOKUPVALUE(Table1[VarA], Table1[Index], MinIndex)
Возвращает 1
и 2
для [Group]
= 1
и 2
.
(Ваше вычитание оглядывается назад в вашем вопросе.)