Дорогие друзья, сегодня публикуем статью Алексея Скородумова о том, как можно сделать расчет заказа товара с помощью бесплатной версии Qlik Sense Desktop.

Инструкция: Бесплатный заказ через Qlik Sense Desktop

Шаг 1. Скачайте и установите бесплатную версию, имеющую неограниченный срок действия лицензии Скачать бесплатную версию Qlik Sense Desktop.

Шаг 2. Определитесь, по какой логике и? по какой формуле Вы хотите получить результат, Ваш расчётный заказ товара. Например, Вы хотите, на основе статистики продаж за последние три месяца, рассчитать среднедневные продажи (SaleDay). И сделать заказ, таким образом, чтобы в момент прихода заказа на склад Остаток стал бы равен Недельной потребности плюс Три дня на случай транспортных перебоев. Итак, Вы хотите получить в момент прихода заказа складской остаток в N = 10 дней средних продаж *.
НА ЗАМЕТКУ! *Норматив N=«10 дней» можно как задавать, так и рассчитывать на основе Вашей логики (с учётом срока хранения, складских площадей, времени в пути, предполагаемого уровня сервиса, желаемой рентабельности и т.п.).

Тогда формула заказа будет выглядеть так:

Сложить остаток на складе и уже заказанный товар в момент заказа (получить StockToday), Вычесть из него Время в пути (DeliveryTime) умноженное на SaleDay.

Если StockToday-(DeliveryTime*SaleDay) — N*SaleDay > 0, то Заказ = 0. В противном случае, Заказ = МИН (N*SaleDay, N*SaleDay+ DeliveryTime*SaleDay – StockToday)
Эта формула «дополнит» ваш складской остаток до максимума SaleDay*N (10 дней продаж), с учётом тех остатков, которые ожидаются на складе в момент прихода товара.

Шаг 3. Теперь определитесь, откуда будете брать исходные и, в какой детализации Вам нужен результат. Предположим, Вы хотите отправлять заказ Поставщику. Чтобы поставщик легко узнавал и быстро подтверждал нам товар из него, в заказе должны быть столбцы «Поставщик», «Вид товара», «код товара», «Наименование у поставщика», «Группа товара у поставщика».
Предположим, что по какой-то причине часть информации в Вашей учётной системе отсутствует. Например, нет информации по «Наименованию у поставщика» и «Группа товара у поставщика», которые не совпадают с принятыми в Вашей компании и занесёнными в Вашу номенклатуру «Наименованием» и «Группой товара». А IT отдел отказывается вносить новое поле в базу данных. Не беда. Сделайте в Excel-файле страничку, с той расширенной классификацией, которая Вам удобна. Например, добавьте сами столбцы «Наименование у поставщика» и «Группа товара у поставщика». Qlik Sense Desktop их увидит и внесёт в Ваш итоговый файл заказа.
Возможно, что нужная Вам информация по продажам и остаткам находится в реестре 1С в виде строк с датой и кодом товара. Возможно, в 1С не полная информация, и Вы будете брать её из Excel-файлов, различных баз данных или веб-файлов.

Шаг 4. Загружаем исходные данные в Qlick Sense Desktop. Вы можете, как подключиться к базе данных (например, нужным массивам в 1С или другой базе данных через стандартное подключение, предусмотренное в программе ODBC, OLE DB, или к веб-файлу), так и просто выбрать, например, в Вашей папке на Вашем компьютере Ваш файл Excel с требуемой информацией.

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

Здесь я указал, как путь к данным, дорогу к моему файлу Excel, в котором на разных листах хранятся параметры номенклатуры, целевые показатели, ограничения и прочее, нужное закупщику для управления параметрами заказа.

Order Calculation in Qlik Sense Desktop

Данные могут загружаться в программу из разных папок, разных источников и быть разнотипными. Можно «разбить» загрузку на куски, и ежедневно подгружать лишь обновляемую информацию. Например, о новых продажах и остатках.

Шаг 5. После загрузки исходных данных, рекомендую сразу их обработать, оставить только нужные поля и перевести в формат .qvd (оптимизированный для программы). Он позволяет работать с данными ещё быстрее и без обращения к внешним базам. Сохраняет всю информацию «в себе». После этого можно удалить ненужные первоначальные данные из приложения, уменьшив, таким образом, его размер.
НА ЗАМЕТКУ! Рекомендую регулярно сохранять (особенно если у Вас не устойчивая связь с источниками, например базой 1С) .qvd-файлы у себя «в надёжном месте». Чтобы в случае, если, например, по какой-то причине не сможете достучаться до корпоративного источника, Вы могли бы подгрузить данные из своего «backup», .qvd-файла. Сделать это можно включив в скрипт загрузки строку:
store NazvanieTable into [lib://Название Папки с резервными данными/NazvanieTable.qvd];

Шаг 6. Свяжите разрозненные исходные данные по ключу. Для визуального представления связи между загруженными данными в Qlick Sense Desktop есть удобный инструмент «Модель данных», с возможностью Предварительного просмотра отдельных таблиц.

Order Calculation in Qlik Sense Desktop

В этом примере несколько массивов данных (параметры заказа, продажи, заказ) связаны между собой по ключу «Код Товара», а через ключ «Поставщик» в таблице Номенклатура получают дополнительно связь с Информацией о поставщике. Чтобы ключ работал, нужно чтобы название поля было идентично. В исходных это не всегда так. Чтобы переименовать поле при загрузке, пользуются стандартным оператором «as». Например, если в одном из источников название поля «OrderDataCodSQU», а в других источниках он назвается «Штрих-код», при загрузке данных надо указать: load OrderDataCodSQU as«Штрих-код».

Шаг 7. Сделайте таблицу с Результатом Заказа на отдельном Листе приложения, например, такую.

03

Формулы могут, как считаться в таблице, так и быть уже предварительно рассчитанными в момент загрузки данных. Так поступать иногда удобнее: мы получаем результаты уже на стадии загрузки, а не в таблице. Поэтому сможем их использовать как готовые, а не прописывать в разных таблицах одни и те же формулы. Функции, выражения и операторы, применяемые для формул в таблицах и в скрипте при загрузке данных, мало чем отличаются от аналогичных в Excel и SQL запросах, интуитивно понятны и просты (sum, sin, log, round, call, do, for, if, +,-,/,*, load, group by, left join и тп). В справке Qlik Sense есть их подробный перечень с примерами.

НА ЗАМЕТКУ! На отдельном листе рекомендую контролировать параметры заказа по каждому коду товара, чтобы можно было быстро посмотреть и проверить, верно ли закачены Ваши исходные данные. Особенно, если Вы «подгоняете» Ваш заказ под лимит бюджета, используете MIN МАХ, кратность, Out of Stock Point, коэффициенты сезонности, Среднедневные продажи, Упущенные продажи и прочие параметры, которые не обязательно знать поставщику в его файле заказа, но полезно контролировать Вам, так как они могут участвовать в расчёте заказа (если Ваша логика расчёта это предусматривает).

В приложении есть прекрасная возможность любой фильтрации и графического отображения. Включая удобный вариант отбора данных с помощью «лассо». После отбора параметров в фильтре или лассо, графики и таблицы мгновенно пересчитываются на всех листах приложения.

Order Calculation in Qlik Sense Desktop

Шаг 8. Сохраните таблицу с заказом в Excel. В бесплатной версии это можно сделать через клик на правую кнопку мыши, «Экспортировать данные», «Сохранить как». В платных версиях делать это более удобно, достаточно нажать на иконку или можно даже запланировать e-mail рассылку результата по адресам (например, Вашему и Вашим поставщикам с заданной Вами периодичностью).

Если Вам через некоторое время снова потребуется расчёт заказа, не забудьте обновить данные (нажать «Загрузить данные»).

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

Вместо заключения

Как видим, даже бесплатная версия Qlik Sense Desktop может быстро и качественно, под управляемую Вами логику принятия решения, рассчитать Заказ товара. В платной версии есть приятные дополнительные возможности, которые упростят жизнь закупщика, аналитика или маркетолога.