Как сделать заказ товара в бесплатной версии 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, в котором на разных листах хранятся параметры номенклатуры, целевые показатели, ограничения и прочее, нужное закупщику для управления параметрами заказа.

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

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

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

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

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

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

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

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

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

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

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

6 комментариев на “Как сделать заказ товара в бесплатной версии Qlik Sense Desktop

  1. Евгений

    Вот ссылка на обсуждение выгрузки данных из 1с в Qlik View/ Qlik Sense. Мне было интересно, может ещё кому пригодится

    http://qlikview-forum.ru/qvf/index.php/topic,9.0.html

    «используют
    Синтаксис:
    OLEDB CONNECT TO connect-string [ ( access_info ) ]

    Где
    connect-string — строка подключения, содержащая информацию по расположению СУБД, пользователю и пр. мелочей.
    access_info — генеирируемый в зашифрованном виде пароль для подключения к СУБД. Можно конечно пароль указать явно в первом параметре.

    пример
    OLEDB CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=True;User ID=UserName;Initial Catalog=BaseName;Data Source=ServerIP;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=QlikServerName;Use Encryption for Data=False;Tag with column collation when possible=False] (XPassword is 26СгенерированныхКликомЗнаковПароля);

    СправочникНоменклатура:
    LOAD
    Код,
    Наименование;
    SQL SELECT
    СпрНоменклатура._Code Код,
    СпрНоменклатура._Description Наименование
    FROM
    _Reference35 СпрНоменклатура;
    »

    а вот ссылка на обсуждение своих коннекторов из Qlik View к 1с

    http://start1c.blogspot.ru/2013/10/1-qlikview-c.html

    1. Алексей Скородумов Автор

      Мария, да. Даже бесплатная версия Qlik Sense может забирать информацию из источников с сотнями тысяч строк на обычном ноутбуке. Но при работе с большими объёмами информации становится важно правильно организовать результирующий «куб» с информацией и отбросить ненужное. Старайтесь, чтобы итоговый объём приложения не превышал 300 МБ (в 99 % случаев этого вполне достаточно). Также не стоит перегружать расчётами оперативную память при работе с приложением: если есть возможность вынести расчёт по формуле из таблицы в переменную при загрузке, лучше так и поступать при работе с большими массивами данных.

  2. Марина

    Алексей, добрый день! Подскажите пожалуйста, как В платной версии можно настроить автоматическое обновление по расписанию? Заранее благодарю!

    1. Алексей Скородумов Автор

      Марина, добрый день! Имеется ввиду обновление данных в QS (периодичность обращения к базам-источникам информации, например к 1с или складским базам, и создание нового обновлённого «куба-приложения» QS)? Регулярность задаётся каждому приложению в настройках. Часто скрипт приложения настраивают на обращение не к рабочим базам источникам, а к их копиям. В этом случае, актуальность данных будет зависеть от свежести копии (момента её создания). Если же речь идёт о регулярной отправке готового отчёта конкретным сотрудникам — то в настройках конкретного отчёта можно указать этих лиц и периодичность, с которой они будут (по почте, например) получать готовые обновлённые отчёты в формате Excel, например.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Индекс цитирования