Это немного похоже на этот вопрос и этот вопрос и этот вопрос в отношении промежуточного итога, но также включает в себя совокупный компонент.
Вы можете сделать это в два этапа.Сначала вычислите таблицу, в которой приведены максимальные значения для каждого года, а затем используйте совокупный общий шаблон.
CumSum =
VAR Summary =
SUMMARIZE(
ALLSELECTED(Table1),
Table1[Year],
"Max",
MAX(Table1[MonthlyValue])
)
RETURN
SUMX(
FILTER(
Summary,
Table1[Year] <= MAX(Table1[Year])
),
[Max]
)
Вот вывод:
Если развернуть до уровня месяца, он будет выглядеть следующим образом:
Обратите внимание, что если вам нужен только промежуточный итогработать, оставляя каждый ряд как максимум (15, 22, 17, 54 ), а не как совокупную сумму максимумов (15, 37, 54, 54 ), тогда вы можетеиспользуйте более простой подход:
MaxSum =
SUMX(
VALUES( Table1[Year] ),
CALCULATE( MAX( Table1[MonthlyValue] ) )
)
Это вычисляет максимум для каждого года отдельно, а затем складывает их вместе.
Внешние ссылки: