Работа с компонентом Условие

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

Для решения данной задачи в 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.