Попробуйте использовать MAXX(FILTER(...),...)
вместо CALCULATE(MAX(...),...)
.
Delta1 =
VAR PrevDate = MAXX(FILTER(Table2, Table2[Date] < EARLIER(Table2[Date])), Table2[Date])
RETURN IF(ISBLANK(PrevDate),
BLANK(),
Table2[Feature1] -
SUMX(FILTER(Table2, Table2[Date] = PrevDate), Table2[Feature1]))
Вместо этого вы можете использовать CALCULATE
, если удалите контекст строки, вызывающий циклическую зависимость.
Delta1 =
VAR PrevDate = CALCULATE(MAX(Table2[Date]),
ALLEXCEPT(Table2, Table2[Customer]),
Table2[Date] < EARLIER(Table2[Date]))
RETURN IF(ISBLANK(PrevDate),
BLANK(),
Table2[Feature1] -
CALCULATE(SUM(Table2[Feature1]),
ALLEXCEPT(Table2, Table2[Customer]),
Table2[Date] = PrevDate))
Я предполагаю, что вы хотите удержать клиента от контекста строки.Если нет, вы можете заменить ALLEXCEPT(Table2, Table2[Customer])
просто ALL(Table2)
.