Чтобы создать вычисляемый столбец Split_range
, необходимо выяснить, какова совокупная сумма предыдущего уровня.Это можно сделать следующим образом:
CALCULATE (
SUM ( Table1[Max_tier] ),
ALLEXCEPT ( Table1, Table1[Product] ),
Table1[Max_tier] < EARLIER ( Table1[Max_tier] )
)
То есть вы добавляете предыдущие уровни, где Product
одинаково.
Имея это, вам просто нужно вычесть совокупную суммуиз баланса, если это число положительное и меньше текущего максимального значения.
Split_range =
VAR Cumulative =
CALCULATE (
SUM ( Table1[Max_tier] ),
ALLEXCEPT ( Table1, Table1[Product] ),
Table1[Max_tier] < EARLIER ( Table1[Max_tier] )
)
RETURN
IF (
Table1[Balance] > Cumulative,
MIN ( Table1[Balance] - Cumulative, Table1[Max_tier] ),
0
)