Работа с компонентом Условие
В процессе анализа данных часто возникает необходимость в ветвлении сценариев и применении различных методов обработки информации в зависимости от установленных условий. Например, требуется провести вычисления в зависимости от значений переменных или полей.
Для решения данной задачи в Loginom есть специальный компонент Условие, предоставляющий удобные механизмы для ветвления сценария. В демопримере разбираются различные способы применения этого компонента и его особенности.
Описание алгоритма
Использование узла Условие в данном сценарии рассмотрено на следующих примерах:
- вычислительные операции над данными в зависимости от агрегированных значений полей и переменных,
- подготовка к использованию чат-бота для отправки уведомлений.
1. Задание значений переменных
В порте Переменные пользователя заданы значения переменных Требования бюджета
и Информация CRM
, которые будут использоваться в сценарии. Там же в качестве значений соответствующих переменных задаются токен, идентификатор чата, их стандартные варианты и текст сообщения необходимые для подготовки к использованию чат-бота для отправки уведомлений.
Токен для чат-бота генерируется во время его первоначальной конфигурации, процесс получения токена описан в демопримере Уведомления в Loginom при помощи чат-бота Telegram.
Имя | Метка | Значение |
---|---|---|
token |
Tокен | 5********5:A*********************************M |
chat_id |
Идентификатор чата | -6*******6 |
message_text |
Сообщение в чат | Сотрудник нанят |
model_token |
Стандартный токен | 6********6:A*********************************M |
model_chat_id |
Стандартный идентификатор чата | -5*******5 |
budget_needs |
Требования бюджета | 1 |
crm_info |
Информация CRM | 1 |
2. Импорт данных
В подмодели Импорт данных осуществляется импорт данных из двух Excel-файлов:
- Поставки – выборка данных о компьютерах, имеющихся у организации.
- Запросы – список данных о сотрудниках и основных требованиях к компьютерам в зависимости от профессии.
3. Обработка таблицы
В подмодели Обработка таблицы показаны способы применения компонента Условие, с использованием агрегированных значений полей, которые могут как использоваться, так и не использоваться в дальнейших вычислениях. В условиях веток может быть задано любое количество сложных условий с любым количеством И или ИЛИ.
Список ветвей условия:
- Не указана модель
Порт1.Модель(Первый)
пустое
- Не указана версия
Порт1.Версия(Последний)
пустое
И Порт1.Производитель(Минимум)
не пустое
- Сумма больше 1000000
Порт1.Цена(руб.)(Сумма)
> 500000
И Порт1.Цена(руб.)(Сумма)
<1000000
И Порт1.Жесткий диск(ГБ)(Сумма)
<1024
ИЛИ Порт1.Количество(Сумма)
<15
В подмодели Выбор модели выделяется название модели компьютера.
В подмодели Выбор версии отбираются данные о версии компьютера.
В узле Общая стоимость подсчитывается общая стоимость компьютеров с учетом скидки.
Для корректной работы ветки условий должны объединяться после выполнения узла Условие. Это можно сделать с помощью таких узлов как Объединение, Соединение, Соединение(переменные).
В данном сценарии используется узел Объединение, в котором данные из подмоделей объединяются в единый отчет и передаются на выходной порт.
4. Распределение бюджета
В подмодели Распределение бюджета в узле Условие демонстрируется возможность использования переменной Требования бюджета
и агрегированных значений полей таблицы. Переменная не используется в вычислениях. В зависимости от значений переменной и полей будет выполняться определенная ветвь, а остальные блокироваться.
Значение поля будет оцениваться единым значением в зависимости от выбранного метода агрегации.
Список ветвей условия:
- Требования к компьютерам
Порт2.Требования бюджета
= 1
- Требования работников
Порт2.Требования бюджета
=2
И Порт1.Производитель(Первый)
не пустое
- Сокращение бюджета
Порт2.Требования бюджета
= 3
ИЛИ Порт1.Скидка(%)(Сумма)
<70
В узле Объединение полученные в подмоделях данные объединяются. На выходной порт подмодели выводится исходная таблица, дополненная значениями, полученными в результате вычислений в подмоделях.
Первой ветке соответствует подмодель Требования к компьютерам, где отсеиваются неудовлетворяющие требованиям компьютеры.
В подмодели Требования работников проверяется соответствие имеющихся компьютеров запросам работников разных профессий.
В подмодели Новый поставщик формируется дополненный отчет о компьютерах.
Примечание: Во время настройки узла Условие можно использовать режим отладки. В этом случае будут выполняться выбранные ветви: одна из возможных или все одновременно. В данном демопримере при использовании режима отладки может потребоваться дополнительная настройка узла Объединение, так как будет изменяться набор столбцов.
5. Корректность токена
В подмодели Корректность токена на входной порт подаются заданные ранее переменные.
Узел Условие показывает, что можно разделить сценарий на две ветки, в зависимости от значений переменных сценария, которые будут использованы в дальнейших вычислениях.
Верхняя ветка выполняется только если задан корректный токен, а нижняя, если задано некорректное значение.
На выходном порте данной подмодели выводится текст, который в дальнейшем можно применить для составления Rest-запросов. Подробнее с отправкой Rest-запросов, данные для которых формировались в подмодели, можно познакомиться в демопримере Уведомления в Loginom при помощи чат-бота Telegram.
В узле Доп. условие сценарий разделяется на две ветки в зависимости от того, какое значение переменной было передано из внешней системы. Переменная Информация CRM
не используется в дальнейших вычислениях. Нижняя часть сценария дублирует верхнюю.
Уведомления в Loginom при помощи чат-бота Telegram
Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 10 и выше
- CPU x64: 2 core 1
- Оперативная память: 4 GB
- Жесткий диск: 10 GB
1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.