Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: mutniyglaz от 03 августа 2016, 08:22:31

Название: Отображение суммы остатков на последнюю дату месяца
Отправлено: mutniyglaz от 03 августа 2016, 08:22:31
Есть 2 таблицы:

1. Дата, Артикул, Сумма продаж
2. Дата, Артикул, Сумма остатков

Если суммирую продажи на одном графике, то выводится сумма продаж за месяц.
Какой функцией на втором графике выводить не сумму остатков, а только остатки зна последний день данного месяца (или на первый)

?
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: bogusnya от 02 сентября 2016, 04:41:33
Есть несколько примеров как это сделать, поищи. На этом форуме тоже кажется были.
Но для меня, как для новичка они оказались сложны и я сделал по другому, переписал выгрузку в sql (я в QV беру данные из sql таблиц, которые выгружаются из БД), где в выгрузке сделал остаток на нужную дату и у меня получилась таблица вида:
Дата, Магазин, сумма остатка, сумма продажи

и в 1м месяце одна строка записи, т.е сумма остатка на начало\конец месяца а сумма продаж за весь месяц.

Либо еще вариант, при загрузке создаешь виртуальную таблицу, куда загружаешь только остатки на начало или конец периода (на первый день месяца например) и потом соединяешь к основной таблице.
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: admin от 03 сентября 2016, 09:22:24
Привет.
Да, разумный подход - использовать таблицу предварительно рассчитанных в срипте остатков.
Использовать выражения тоже можно, на форуме есть примеры. Но на большом количестве записей это приведет к большим нагрузкам на систему.
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: mutniyglaz от 25 мая 2017, 04:42:22
Подскажите какие функции использовать при расчете?
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: admin от 25 мая 2017, 06:27:44
То есть? При расчете чего?
Если у вас есть остатки на каждый день или на каждый последний день месяца, то их можно выводить вместе с данными по месяцам используя флаг рассчитанный на конец месяца, т.е. в календаре добавляем поле :
if(num(DateId)=num(floor(monthend(DateId))),1,0) as EOM_Flag,
а в графике или таблице где измерение = месяц в выражении пропишем:
sum({<EOM_Flag={1}>}  СуммаПродаж)
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: millik от 26 мая 2017, 02:46:40
Почитайте эту тему.
https://community.qlik.com/thread/215031
Там представлены два варианта расчета остатков по регистру движений "на лету". Я использую вариант с AsOfDate, работает относительно быстро.
Название: Re: Отображение суммы остатков на последнюю дату месяца
Отправлено: Dolphin от 11 сентября 2020, 05:41:26
Всем привет, прошу помочь - есть таблица на скрине 1 как условие, нужно сделать расчет остатков в QlikView, как в таблице на скрине 2. Подсказали, что обычно делают так:
ЦитироватьCрез остатков предрасчитанных в скрипте на начало месяца. И формула остатков на конкретную дату будет как сумма остатков  + сумма транзакций. Для суммы транзакций делается asofdate календарь, где к каждой дате добавляются все даты с начала месяца. А для остатков в этом календаре делается соответствие каждой даты к началу месяца.

У меня мало опыта, поэтому не понимаю пока даже как это сделать(

Вопросы:
1. Как сделать при загрузке в скрипте расчет остатков на начало месяца?
2. И как потом сделать соответствие с календарем asofdate?

Пример таблицы:

ЦитироватьСклад   Дата   ID товара   Тип операции   Количество
А   01.01.2019   N-23   Покупка   100
А   08.01.2019   N-23   Расход   -50
А   14.01.2019   N-23   Покупка   70
А   18.01.2019   N-23   Покупка   50
А   21.01.2019   N-23   Расход   -130
Б   01.01.2019   Б-12   Покупка   10
Б   09.01.2019   Б-12   Расход   -5
Б   11.01.2019   Б-12   Покупка   10
Б   15.01.2019   Б-12   Расход   -7