При приходе товара, он распределяется в резерв текущего месяца в приоритет клиентов 1, затем в приоритет клиентов 2 и тд. Остаток после распределения текущего месяца распределяется в следующий по такой же логике. Если товара недостаточно, чтобы обеспечить потребность всех клиентов одного приоритета, он распределяется среди них пропорционально оставшейся на данный момент потребности.
В файле примере помесячное решение.
Примерная суть такая: 1. Для каждого месяца определяется потребность и приходы в этом месяце. 2. Вычисляется количество товара, который попадет в резерв соответствующего месяца: MIN(приходы месяца + остаток с предыдущих месяцев; потребность месяца). 3. Определяется процент обеспечения одноприоритетных клиентов внутри месяца. 4. Распределяется приход.
Результат в файле.
Необходимо получить данные резерва не с месяцем, а с датой конкретного прихода. Можно использовать текущее решение с резервом, чтобы распределить приход, но не понимаю, как пропорционально распределить каждый резерв (получается, при каждом приходе нужно распределить товар и перезаполнить данные таблицы потребности, но не знаю о подобной возможности в PQ).
Возможно, я совсем что-то неправильно делаю:) Буду благодарен, если хотя бы подскажете направление:)
В реальных данных ~65000 строк потребность, ~ 1000-2000 строк приход. Решение нужно в PQ или PP (PP - если не будет сильно замедлять применение срезов, фильтров и тп.).
В общем, получилось довольно быстро работающее решение. Буду благодарен, если кто-то из знатоков даст комментарии:) Вдруг кому-то пригодится подход. К примеру, для распределения товаров по клиентам с учетом приоритета.