Сумма с группировкой нарастающим итогом

Автор dimian, 24 сентября 2021, 08:11:46

« назад - далее »

dimian

Ребят подскажите как написать скрипт.
Нужно посчитать сумму с группировкой нарастающим итогом.

Есть таблица например:
Команда Месяц Побед
Спартак   1      3
Спартак   2      2
Спартак   3      4
ЦСКА      1      2
ЦСКА      2      6
ЦСКА      3      1


Результат должен быть
Команда Месяц Побед
Спартак   1      3
Спартак   2      5
Спартак   3      9
ЦСКА      1      2
ЦСКА      2      8
ЦСКА      3      9

 

Maks248

#1
[tmp_Tbl]:
Load *Inline [
Команда, Месяц, Побед
Спартак,  1,      3
Спартак,  2,      2
Спартак,  3,      4
ЦСКА,      1,      2
ЦСКА,      2,      6
ЦСКА,      3,      1
];


[Накопительный итог]:
NoConcatenate
Load
    Команда,
    Месяц,
    Побед,
    If(Команда=peek(Команда),RangeSum(Побед,peek(ПобедНакИтог)),Побед) As ПобедНакИтог
   
Resident tmp_Tbl
Order By Команда, Месяц;

Drop Table tmp_Tbl;

Нужна группировка, то в след. таблице сделайте

Load
Sum(ПобедНакИтог)
Resident...
Group by Команда;

dimian

Цитата: Maks248 от 24 сентября  2021, 10:29:24  [tmp_Tbl]:
Load *Inline [
Команда, Месяц, Побед
Спартак,  1,      3
Спартак,  2,      2
Спартак,  3,      4
ЦСКА,      1,      2
ЦСКА,      2,      6
ЦСКА,      3,      1
];


[Накопительный итог]:
NoConcatenate
Load
    Команда,
    Месяц,
    Побед,
    If(Команда=peek(Команда),RangeSum(Побед,peek(ПобедНакИтог)),Побед) As ПобедНакИтог
   
Resident tmp_Tbl
Order By Команда, Месяц;

Drop Table tmp_Tbl;

Нужна группировка, то в след. таблице сделайте

Load
Sum(ПобедНакИтог)
Resident...
Group by Команда;

Спасибо большое, решение работает )))

Яндекс.Метрика