Это классический пример шаблона DAX Cumulative Sum .
. Вам не нужны отдельные таблицы.
Как вычисляемый столбец
a_cum =
VAR CurrentID = [id]
RETURN
CALCULATE (
SUM ( Table01[a] ),
FILTER (
ALLEXCEPT ( Table01, Table01[dte] ),
Table01[id] <= CurrentID
)
)
Столбцы b_cum
и c_cum
аналогичны.Просто отключите столбец, на который вы ссылаетесь, и измените направление неравенства для DESC вместо ASC.Например,
b_cum =
VAR CurrentID = [id]
RETURN
CALCULATE (
SUM ( Table01[b] ),
FILTER (
ALLEXCEPT ( Table01, Table01[dte] ),
Table01[id] >= CurrentID
)
)
Это должно дать вам такую таблицу:
![Calculated Columns](https://i.stack.imgur.com/TTKu2.png)
Обратите внимание, чтоони упорядочивают совокупную сумму по столбцу id
(ASC для a_cum
и убывает для b_cum
и c_cum
).Если вам нужно отсортировать по значениям столбцов, а не по их id
, то я бы предложил добавить вычисляемый столбец для каждого, чтобы ранжировать их так, как вы хотите.Затем используйте столбец rank
вместо столбца id
в DAX.