Функции, формулы и вычисления
11
/21
О чем мы поговорим сегодня
Посмотрим на кейс развития встроенной аналитики для ритейл-клиентов Retail Service, а также погрузимся в вычисления Qlik Sense, изучив наиболее популярные функции и попробовав написать свои.
ИСТОРИЯ УСПЕХА
Retail Service 360: аналитика ритейла
Retail Service — сервис, предоставляющий аналитику по всем важнейшим аспектам цепочки поставок товаров между торговыми сетями и поставщиками. Использование сервиса позволяет повысить эффективность взаимодействия между контрагентами, включая такие области как уровень сервиса, доступность товаров, своевременность поставок, а также возможность совместного планирования. Интеграция и визуализация данных в рамках сервиса реализована на основе встроенной аналитики Qlik.

Идея разработки сервиса, который поможет эффективнее взаимодействовать поставщикам и ритейлерам, возникла в 2014 году. Поскольку аналитика — ключевой продукт компании, в компании сразу понимали, что от аналитического решения потребуется:
оперативно обрабатывать большие массивы данных по продажам и логистике из учетных систем торговых сетей и поставщиков, EDI-сообщения торговых сетей (а это сотни миллионов строк проводок)
предоставлять аналитику участникам рынка в удобной и понятной форме, с возможностью «провалиться» в детальные данные, чтобы исследовать выбросы и получить максимум инсайтов от работы с нашим сервисом.
Юрий Костенко
основатель Retail Services
По этим критериям Qlik нам очень хорошо подошел. Кроме того, многие ритейлеры также использовали BI-систему Qlik для внутренней аналитики, что гарантировало привычность интерфейса сервиса для пользователей.
В 2015 году был разработан первый функционал аналитического портала на основе Qlik для одной федеральной торговой сети. После успешного пилота, решение Retail Service начало активно развиваться и сейчас предоставляет аналитику по цепочке поставок и продаж всех федеральных торговых сетей, с максимальной детализацией и возможностью формировать отчет любой сложности за доли секунды. Это более 1,5 миллиардов строк данных с горизонтом анализа более года.
Сервис Retail Service на основе технологий Qlik позволяет розничным сетям и их поставщикам улучшить взаимодействие и реально увеличить продажи благодаря работе с аналитикой
На платформе Retail Service каждый поставщик может отслеживать:
Доступность товаров в торговой сети. Раньше отчеты по остаткам товаров в сети поставщики получали с периодичностью 3−4 дня и только по ключевым продуктам, в силу трудозатратности подготовки таких отчетов. Благодаря Retail Service и интерактивной аналитике Qlik поставщики видят актуальную аналитику остатков в динамике, по всей товарной матрице, что позволяет эффективно планировать работу торговых представителей и исключать отсутствие товара на полках магазинов.
Прогнозы закупок на 2 месяца вперед. С сервисом Retail Service поставщики получают доступ к реальным прогнозам торговой сети, на основе которых будет производиться автозаказ. Эти прогнозы учитывают реальные остатки, будущие промо, появление и сокращение в ассортименте товаров конкурентов, что помогает поставщикам корректировать цикл производства, снижать количество списаний и избегать ситуаций профицита или дефицита склада.
Продажи в рейтинге товарной категории сети. Ежедневная аналитика по ассортименту поставщика в каждой торговой точке позволяет повышать прибыльность и эффективность на основе реальных данных в конкретно взятой сети — корректировать тактику маркетинговых и полевых команд для поддержки продаж.
Платформой Retail Service каждый день пользуются сотни сотрудников розничных сетей и их поставщиков
Юрий Костенко
основатель Retail Services
Здесь хочется отметить два важных момента, с которыми нам помогает встроенная аналитика Qlik.
Во-первых, при ежедневном трафике сотен пользователей, система должна быть стабильна и доступна онлайн: Qlik обеспечивает оперативный доступ к аналитике в интерактивном режиме, с очень быстрым откликом и пересчетом данных «по клику».
Во-вторых, аналитика должна быть интуитивно понятна, ведь ее используют сотрудники с абсолютно разными навыками — руководители, клиентские менеджеры, логисты. Нам удалось выстроить интерфейс, в котором можно реализовать любые пользовательские сценарии и спускаться от обобщенных показателей, чтобы исследовать, к примеру, причины отклонения от плана и принимать верные управленческие решения.
1.5 млрд
Столько строк данных предоставляет сервис с максимальной детализацией и возможностью формировать отчет любой сложности с горизонтом анализа более года
100+
клиентов-компаний и поставщиков пользуются сервисом сегодня
ТЕОРИЯ
Создание вычислений
Одно из главных преимуществ Qlik Sense — независимость пользователей от ИТ-команды, которая поддерживает источник данных где-то на серверах. Если вам нужно сделать дополнительные расчеты, преобразования и вычисления — вы можете это сделать напрямую в Qlik, своими силами и без привлечения разработчиков БД. При этом, вычисления будут проводиться только на уровне приложения в Qlik Sense, и не будут влиять на исходную базу. Поэтому вы можете оставаться спокойными за качество исходных данных.
Вычисление
Вычисление — это любой пользовательский алгоритм расчета нового поля на основе уже имеющихся в источнике. Основа вычислений заключается в функциях.

Функции используются для выполнения математических, логических, проверочных и множества других видов операций над данными в памяти продукта (in-memory). Например, если у вас в источнике данных есть поля «Выручка» и «Количество товаров», вы сможете посчитать среднюю выручку на один товар, поделив эти два показателя друг на друга. Это будет вашим новым вычислением.

Вычисления в Qlik Sense могут быть созданы локально прямо в свойствах диаграммы — через иконку Fx — и применяться для показа и расчета только на этой диаграмме, где они и были созданы. Если вы хотите использовать такие локальные вычисления повторно, вы можете либо скопировать их, либо создать мастер-поле — основное измерение или меру с формулой внутри.
Функции в Qlik Sense поделены на смысловые категории.
В основные группы можно выделить функции:
  • Логические
  • Строковые
  • Даты и времени
  • Агрегирования
  • Условий
  • Финансовые

Также есть функции по работе с NULL-значениями, форматирования, ранжирования, цвета, функции вероятности, логарифмов, статистики и много других.
Большое количество функций позволяет вам гибко общаться с данными, но не пугайтесь их количества. В процессе работы вы быстро определите для себя самые полезные, подходящие под ваши задачи и будете быстро ориентироваться в списке функций благодаря поиску.
При работе с вычислениями, вы будете использовать разные операторы и функции. Помимо основных операторов простых арифметических действий (+,-,*,/), есть также специфичные операторы. Наиболее полезные из них ниже.
Редактор выражений
Независимо от того, каким способом вы делаете новое вычисление, все вычисления создаются в Редакторе выражений. Это ваш интерфейс по написанию и проверке кода выражения.

Редактор выражения включает:
  • область для написания кода
  • выбор полей, функций, выражений множества и переменных
  • статусную строку с описанием появляющихся ошибок
Вы можете печатать названия полей и функций вручную, пользуясь дальнейшими подсказками редактора для подстановки или же использовать блоки выбора справа для их вставки.
Пример выражения логической функцией IF
Выражение посчитает количество (Count) всех спортсменов (Name of Athlete), которые участвовали в биатлоне (условие Sport = Biathlon). Такое выражение вернет результат только если на диаграмму будут выведены виды спорта.

IF(Sport='Biathlon',Count([Name of Athlete]))
Список функций
У всех функций Qlik есть круглые скобки, внутри которых записываются аргументы. Вы можете оперировать результатами нескольких функций, складывать и вычитать значения других функций, использовать вложенность.

Ниже краткий список нескольких полезных функций по мнению экспертов нашего Марафона.
Денис Катюшин
генеральный директор, QUBData
Математический аппарат Qlik позволяет реализовать достаточно широкий пул расчетов – в состав функций входят различные математические, статистические, финансовые функции, функции работы с датой/временем, функции работы с текстом.

Вот несколько кейсов из нашей практики.
В строительной компании в рамках реализации проекта финансового анализа пула проекта были реализованы расчеты NPV, ROI, IRR, MIRR с использованием встроенного математического аппарата.
В нефтегазовой компании на базе Qlik были реализованы актуарные расчеты, которые позволяют динамически определять объем обязательств компании перед текущими и будущими пенсионерами с учетом коэффициентов смертности в разрезе гендерной принадлежности.
В финансовой организации на базе Qlik был реализован скользящий расчет прогнозов БДР на 15 месяцев вперед с использованием модели регрессии 6-го порядка. На вход использовались данные за последние 3 года, изменяемые пользователем тарифы, планируемые объемы услуг, которые будут оказаны клиентам, ставка дисконтирования и т. д.
В обувной сети было разработано рабочее место по прогнозированию продаж, при этом было реализовано порядка 9 прогнозных моделей: от простого прогноза — задание % роста по году, до регрессионной модели с сезонностью (с выбором типа модели регрессии и типа сезонной модели) с отражением прогнозной кривой и линий тренда.
ПРАКТИКА
Понимаем вычисления
Игорь Буробин
эксперт по Qlik Sense, «Про BI»
Практическое задание 1
Мы продолжаем работать на основе уже загруженных данных (из практики дня 05).

Пожалуй, самой важной частью работы с дашбордом является работа с выражениями. Выражениями мы задаем не только меры и измерения, но и множество настроек. Вам нужно запомнить, что везде, где вы встретите иконку Fx, можно указать выражение, которое будет вычисляться автоматически при каждом отборе или изменении переменных, входящих в выражение. Давайте используем эту возможность в нескольких практических заданиях.
Шаг 1
Добавьте на лист таблицу и выведите в нее измерения ПроизведениеКод, ПроизведениеНаименование. Теперь давайте визуализируем рейтинг в таблице. Пусть у нас выводится не цифра, а количество звезд, соответствующее количеству баллов рейтинга произведения. Для этого добавьте новое измерение, но не из поля как мы это делали ранее, а через редактор выражений, вызываемый по кнопке.
Шаг 2
В редакторе выражений укажите формулу
Repeat ('★', floor (ПроизведениеРейтинг))
Шаг 3
Выйдите из редактора, кликнув по кнопке Применить. В новом столбце должны отразиться звезды рейтинга по организациям. То выражение, которое мы указали делает следующее: сначала вычисляет округленный отбрасыванием дробной части рейтинг произведения с помощью функции floor (), затем, используя функцию Repeat () создает строку в которой символ «Звезда» повторен столько раз, сколько вернула предыдущая функция floor ().

Подробнее об этих функциях вы можете узнать из справки. Я настоятельно рекомендую использовать справку для поиска функций и примеров работы с ними.
Ссылка 1, Ссылка 2.

Теперь давайте раскрасим рейтинг следующим образом — если у фильма меньше 4 звезд, то рейтинг будет красный, если от 5 до 7, то желтый, если 8 и больше, то зеленый. Для этого перейдем в редактирование выражение для цвета текста. Эта опция находится в настройках измерения.
Шаг 4
Теперь давайте раскрасим рейтинг следующим образом – если у фильма меньше 4 звезд, то рейтинг будет красный, если от 5 до 7, то желтый, если 8 и больше, то зеленый. Для этого перейдем в редактирование выражение для цвета текста. Эта опция находится в настройках измерения.

Введем выражение для вариативной цветовой раскраски:

if(floor(ПроизведениеРейтинг) < 4, RGB(255, 0, 0),
if(floor(ПроизведениеРейтинг) < 7, Yellow(),
'#00ff00'))
В выражении используется функция if (Условие, Значение1, Значение2), позволяющая в зависимости от истинности логического Условия вернуть либо Значение1 (если условие истинно) либо Значение2 (если условие ложно). С помощью этой функции мы проверяем каждое значение рейтинга произведения и возвращаем цвет.

Цвет в выражении мы задаем тремя возможными вариантами – через функцию RGB(), через функцию цвета Yellow() или через HEX значение. Я решил задать цвет тремя разными способами, чтобы показать Вам возможности Qlik. Подробнее о функциях цвета можно прочитать на сайте help.qlik.com
Полезные ссылки
Если вам интересно узнать больше, переходите по ссылкам для дальнейшего изучения тем и расширения кругозора
Виталий Тренкеншу
основатель, Datanomix.pro
Обзор функций Qlik Sense
Виталий Тренкеншу из Datanomix.pro в рамках серии вебинаров Datanomix Academy рассказывает про функции в Qlik Sense: Concat, Only, Column, Above, Date, Num
Телеграм-сообщество Qlik
Приглашаем вас присоединиться к телеграм-чату Qlik, чтобы общаться с коллегами, задавать вопросы экспертам и оставаться в курсе новостей Марафона.
@qlikbi_chat
Обзор дня и встреча с экспертом: День 11
Михаил Сирик, cтарший менеджер, Datanomix.pro

2022