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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: kvv от 14 января 2016, 12:35:37

Название: "Размножение" товаров. Остаток на каждый день.
Отправлено: kvv от 14 января 2016, 12:35:37
Всем привет!
Возник вопрос следующего характера.
Есть таблица (прикрепленный файл 101.png):
Data:
LOAD * Inline [
ID, DATE, NAME, QUANT_STOCK
1, 01.01.2016, NAME_01, 2
2, 02.01.2016, NAME_01, 1
3, 03.01.2016, NAME_01, 0
4, 11.01.2016, NAME_01, 5
5, 12.01.2016, NAME_01, 5
6, 13.01.2016, NAME_01, 5
7, 14.01.2016, NAME_01, 0
];


Хотелось бы получить следующую таблицу - прикрепленный файл 102.png

Описание:
Если остаток на складе какого-то товара 0 и следующие несколько дней товара не было, то хотелось бы, чтобы данный товар множился в таблице пока он не появится на складе (то есть, пока не будет прихода).
Также, хотелось бы, чтобы был счетчик - товара нет на остатке 1 день, 2 дня, 3 дня и т.д.

Заранее спасибо за любую помощь.
Название: Re: "Размножение" товаров
Отправлено: Prive от 15 января 2016, 11:45:58
Можно сделать обработку таблицы построчно, но при большом размере таблицы скрипт будет долго отрабатывать.
QVS файл прикрепил к сообщению.
Название: Re: "Размножение" товаров
Отправлено: kvv от 15 января 2016, 12:15:07
Спасибо за ответ.
Не уточнил сразу - это все нужно реализовать в QlikView. У меня нет QlikSense.
Название: Re: "Размножение" товаров
Отправлено: Prive от 15 января 2016, 12:23:43
Это скрипт QliKView в формате QVS. Можно открыть блокнотом (notepad++) или импортировать в приложение QliKView.
Прикрепил целиком приложение.
Название: Re: "Размножение" товаров
Отправлено: kvv от 15 января 2016, 01:18:58
Еще раз спасибо.

В целом, вариант рабочий.
Правда, не для моего случая. В моем случае есть около 50 объектов и в каждом объекте около 2000-4500 позиций за каждый день. Через цикл такое будет очень долго отрабатывать.

P.s. Кажись пробовал такой вариант, но отказался.

P.s.s. В данный момент у меня реализован данный вопрос, но через full join. Но full join это риски (декартово произведение) и ищу другой вариант реализации.
Название: Re: "Размножение" товаров
Отправлено: DmitryK от 18 января 2016, 01:16:21
Привет!
Попробуй посмотреть тут. Остаток на каждый день.
ТУТ (http://qlikview-forum.ru/qvf/index.php/topic,820.msg1877.html#msg1877)
Название: Re: "Размножение" товаров. Остаток на каждый день.
Отправлено: piton от 22 марта 2016, 09:44:25
Я делая таблицу остатка на каждый день создавал отдельно календарь.
Далее к календарю подцеплял движения, сортировал по полю магазин, завод, дата и после этого при обработке скрипта заполнял данные, сравнивая предыдущию запись с текущей.
В твоем случае ещё проще. Создать календарь. Прицепить к нему отдельно товар предварительно очистив дубликаты, создастся табличка на каждый день, где будет отдельная запись с каждым товаром. Далее к полученной табличке прицепить существующие остатки по ключу дата-товар. И в готовом результате значение NULL в остатке заменить на ноль.