Количество дней на остатках.

Автор piton, февраля 03, 2015, 03:44:31 pm

« предыдущая - следующая »

piton

Здравствуйте!
Есть товарный отчет где имеются показатели:
Входящий остаток, приход, возврат, списание, исходящий остаток. Выводится сводной таблицей и остаток расчитывается выражением используя "SUM({<[Дата] = {"<$(=[ДатаС])"}>} .... Все приходы минус все расходы со дня открытия магазина". Отчет выводит данные за период "ДатаС" и "ДатаПо".
Сейчас просят добавить колонку "Количество дней за период когда товар был на остатках". Получается нужно чтобы на каждую дату в период С - По Просчитались остатки и просумировались дни когда остаток больше нуля. Можно ли это сделать не задавая новую таблицу с остатками на каждый день?

admin

февраля 03, 2015, 03:47:56 pm #1 Последнее редактирование: февраля 03, 2015, 03:53:31 pm от admin
Хороооший вопрос.
А какая модель, какие исходные данные?

Если надо посчитать количество дней когда был остаток товара, то, думаю, без обработки сведений в скрипте не обойтись.
Я встречал на официальном сайте заявления о том. что остатки считаются формулами, но живых примеров не видел.
Считаю, что лучше будет подготовить такую таблицу в скрипте.

piton

Платформа QlikView 10. Данные отдельно таблица с календарем. И отдельная таблица где на каждую дату различные движения товаров, разными строчками. Я тоже отталкиваюсь от создания таблицы с остатками на каждый день. Минусы что теряется время на обновление такой таблицы и будет отъедать прилично памяти, так как дополнительных данных выйдет очень много.

piton

Остатки считаются так:
Входящий остаток:
Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара прихода])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара реализация])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара выбытие])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара перемещение])
+ Sum({<[Дата] = {"<$(=[ДатаС])"}>}[Кол-во движения товара исходящий остаток])

Соответственно в исходящем ДатаС меняется на ДатаПо.

admin

А зачем каждый раз пересчитывать таблицу с остатками.
Можно рассчитать остатки за предыдущие периоды и держать их в qvd-формате.
Расчет остатков текущего периода не должен вызвать проблем.
Память займется остатками, это факт.
Но как поведет себя приложение с расчетом остатков на каждый день выражениями?

piton

Создал таблицу, обновляю только за открытый период, по времени около часа. В выражении работает.

count({<[Дата остаток] = {">=$(=[ДатаС])<=$(=[ДатаПо])"}>}[Остаток на дату])
В отчет загружаю данные только с остатком, в итоге просто подсчитываю количество записей за период.
По памяти нагрузка увеличилась на треть.