Нарастающее суммирование в колонке

Автор Филипп Кузьмин, 27 мая 2020, 04:33:41

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

Филипп Кузьмин

Помогите, пожалуйста, решить задачу в QV, которую я сейчас смог решить только Excel..
Есть таблица:

Name    Quantity
A       8
B       2
D       4
E       1
F       17
C       6


Мне нужно добавить колонку в каждой ячейке которой будет сумма всех предыдущих значений.
Вот так:

Name    Quantity   MyColumn
A             8                   8
B             2                   10
D            4                   14
E             1                    15
F             17                  32
C             6                   38

MyColumn каждый раз увеличивается на Quantity. Например 8+2=10   10+4 = 14    14+1 = 15    15+17 = 32 и т.д.
Это вообще возможно сделать к Qlik?

Спасибо за подсказки!

govorun

Да, вполне возможно...
Полистай "Функции между записями" ( Above(), Previous(), ... )
Выбирай, какая тебе подойдет, для скрипта или для диаграммы...

Филипп Кузьмин

#2
Использовать нужно в сводной диаграмме. При Above() не суммирует так, как надо. Если есть возможность реальный пример формулы
Нашел решение с RangeSum(Above(Quantity,0,RowNo())), но на большом массиве (22000 строк) у меня QV после 10 минут просчётов ложится (Out of memory)
Второй день рою форумы и не могу найти решения.
Как накопительно суммировать значения строк? Чтобы в колонке в каждой ячейке была сумма всех вышестоящих ячеек)?

govorun

Вы нашли как раз то, что искали.
Другое дело, что память Вы действительно напрягаете.
Как выход из ситуации - создавать поле нарастающего итога при загрузке данных.

Или дайте более реальную картину, что в действительности из себя представляют
поля Name и Quantity. Не видя более менее реальной картины, не понятно, куда думать.

Uunit

Добрый день.
Всё зависит от того где вы хотите добавить сумму нарастающим итогом.
1) Скрипт
2) Диаграмма


Если Скрипт, то необходимо добавить следующую строку
Quantity+Peek(MyColumn) as MyColumn
Если диаграмма, тогда всё ещё проще.
Заходим в свойство диаграммы, вкладка "Выражения", добавляете ещё один столбец Quantity. Чуть ниже есть раздел "Накопление" указываете полное накопление. Всё, цель достигнута.

govorun


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