Внутристроковые циклы в Loginom. Аналог IterNo() в Qlik

Периодически возникает необходимость выполнить цикл внутри строк таблицы. При этом у каждой строки может быть свое кол-во итераций. В моей практике это чаще всего нужно для задач вида «Разбить план по месяцам на план по дням», когда каждую строку нужно повторить по кол-ву дней в месяце. А также для задач генерации данных, когда нужно получить… Читать далее Внутристроковые циклы в Loginom. Аналог IterNo() в Qlik

Шаблон приложения для отладки ETL-процессов в Qlik Sense

Во время написания скриптов подготовки данных часто приходится заниматься отладкой. Проверять, как взаимодействуют между собой запросы к различным источникам, проверять результаты вычислений, корректность маппингов, да и вообще много чего. Проблема в том, что в в Qlik нет готовых инструментов для контроля выполнения запросов — постоянно приходится создавать временные контрольные таблицы, exit script, комментировать блоки кода,… Читать далее Шаблон приложения для отладки ETL-процессов в Qlik Sense

Составление индекса значений таблиц для предпросмотра

В предыдущих материалах мы рассказывали, как создать каталог всех доступных для анализа данных с помощью базового функционала Qlik Sense. Иметь перечень таблиц и полей в виде понятного списка очень удобно. А было бы еще удобнее, если бы можно было оперативно получать представление, что за данные в этих полях находятся. Аудит данных может потребоваться на многих… Читать далее Составление индекса значений таблиц для предпросмотра

Динамическая классификация интервалов

Есть в Qlik Sense такая классная функция — class(). Она позволяет преобразовать значения поля в интервалы с фиксированным шагом. Выглядит ее работа примерно так: Проблема в том, что в базовом функционале class() разбивает данные на одинаковые интервалы. А если у нас в классифицируемом поле большой разброс значений, то нам могут понадобиться разные условия группировки в… Читать далее Динамическая классификация интервалов

Экспресс-пособие по построению таблицы связей для Qlik Sense

Текстом про эту тему писали уже очень много. Посмотрите теперь видео, где наглядно показан процесс трансформации данных и пошагово объясняется формирование таблицы связей.

Справочники с универсальной гранулярностью

Возможно вам знакома ситуация: фактические данные содержат идентификатор, ведущий на справочники. Например, ИД сотрудника. Справочник сотрудников помимо имен людей содержит некие оргструктурные разрезы. Что-то вроде такого: И вот однажды финансовый отдел присылает вам данные оперплана — и они посчитаны в разрезе, например, Отделов. А вдогонку, еще и данные по бюджету, но в разрезе направлений. Если… Читать далее Справочники с универсальной гранулярностью

Фишки с подстановкой имен мастер-мер

Как известно, начиная с февраля 2021, в Qlik Sense появился функционал подстановки меток мастер мер в выражения. Что это значит? Например, у вас есть формула выручки типа такой: Если вы сохраните ее как основной элемент с названием Выручка, то в других выражениях вы сможете ссылаться на это название, вместо повторения формулы целиком. Раньше для такого… Читать далее Фишки с подстановкой имен мастер-мер

Основы динамического программирования на Qlik Sense. Подпрограммы (Subroutines)

Скрипт Qlik Sense (и Qlik View, они почти одинаковые) интересен тем, что он может не только выполнять явно прописанные команды. Но и генерировать код динамически, который будет себя выполнять. За это отвечает функционал подпрограмм (subroutines). Подпрограммы представляют собой обычный синтаксис скрипта, обрамленный командами sub и end sub. Обертывание кода в sub … end sub приводит… Читать далее Основы динамического программирования на Qlik Sense. Подпрограммы (Subroutines)

Отправка сообщений через Telegram-бота из скрипта загрузки

В настоящий момент базовая версия Qlik Sense Enterprise имеет крайне небогатый функционал рассылки оповещений. А точнее, он вообще отсутствует. В линейке продуктов присутствует такая вещь как Qlik Alerting, но он не везде подходит в виду своей стоимости и области применения (оповещения на основе данных из приложений). Поэтому для налаживания оперативных оповещений, нам придется использовать сторонние… Читать далее Отправка сообщений через Telegram-бота из скрипта загрузки

Таблица динамических периодов

Довольно часто в аналитике удобно выбирать не конкретный временной период, а относительный. Текущий месяц, прошлый месяц и т.д. Часто для этого используют флаговые поля в календаре, типа CurrentYear, CurrentMonth, или MonthsAgo. Их удобно использовать в анализе множеств. Однако, для конечных пользователей использование флаговых полей в качестве фильтра может быть непонятным. Рабочая альтернатива — сделать дополнительную… Читать далее Таблица динамических периодов