Определение статуса дня

При анализе трендов транзакций в разные периоды года могут возникать характерные проблемы, связанные с невозможностью быстрого определения статуса дня (рабочий, выходной или сокращенный) для определения зависимостей. Данный демопример позволяет присвоить статус дня по каждой дате операций и подсчитать рабочие/нерабочие/сокращенные дни с помощью Loginom.

В сценарии используется компонент ↶Генератор календаря (выполнение) из библиотеки Silver-Kit версия: 3.2.0.

Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.

Запустить демо

Установить локально

Описание алгоритма

1. Импорт данных

Импорт данных файла data.xlsx

Таблица «Импорт данных»

Имя Метка
client_id ID клиента
data Дата транзакции
sum Сумма

2. Формирование календаря

В подмодели формируется производственный календарь, где каждой дате из временного интервала присваивается статус дня.

а) Выделение дат

С помощью узла Таблица в переменные выделяются максимальное и минимальное значение даты из исходных данных, они преобразуются в переменные.

б) Генерация обычного календаря

В производном компоненте ↶Генератор календаря (выполнение) формируется календарь в интервале, заданном значениями переменных.

в) Предобработка для обращения к сервису

Из-за особенностей REST-сервиса производственный календарь можно получить только на один календарный год, поэтому в подмодели Предобработка для обращения к сервису по исходным данным выделяются годы в строковом типе данных.

г) Получение статусов дня

В данной подмодели получаем статусы дней с помощью сервиса isdayoff.ru.

В подмодели Получение статусов дней на один год реализуется получение статусов дня через REST-запрос к сайту https://isdayoff.ru. В узле JavaScript сначала проверяется наличие ответа от сервиса. Если данные получены, ответ преобразуется в табличный формат. Если данные отсутствуют, то выводится сообщение об ошибке.

Далее, с помощью узла Замена, для простоты понимания к ответу REST-запроса добавляются строковые значения:

0 — Рабочий день, 1 — Выходной день, 2 — Сокращенный рабочий день.

С помощью узла Цикл настроенного на подмодель Получение статусов дней на один год реализуется получение статусов дней для всех лет.

В узле Параметры полей выполняется отбор полей, которые будут использоваться в дальнейшей обработке.

Включен флаг — Добавлять идентификаторы итераций.

д) Соединение

В узле Соединение создается производственный календарь, путем соединения полученных статусов с обычным календарем.

3. Слияние

В данном узле через Правое соединение к данным о клиентах добавляются Статусы дня.

В первом визуализаторе Куб показано, количество посещений клиентов в определенные дни.

Во втором визуализаторе Куб показано, сколько дней каждого статуса было за заданный промежуток времени.

На основе данных в визуализаторе может быть сформирован профиль клиента. Эта информация может быть использована отделом Маркетинга в дальнейшей работе.


Работа с компонентом Дата и Время

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 10 и выше
  • CPU x64: 2 core 1
  • Оперативная память: 4 GB
  • Жесткий диск: 10 GB

1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.

Новости, материалы по аналитике, кейсы применения, активное сообщество