Интерфейс Loginom. С чего начать?

Интерфейс Loginom. С чего начать?

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

Loginom — система визуального проектирования процессов преобразования данных в режиме low-code. Это значит, что для решения большинства задач не требуется программировать. При этом, если у аналитика есть навыки кодирования на JavaScript или Python, то он может включать в сценарии скрипты на этих языках, а при работе с базами данных использовать SQL.

В итоге, основная рабочая область в Loginom выглядит примерно так:

Пример сценария в Loginom

Low-code подход в бизнес-аналитике

Аналитика данных — сложная задача, в которой можно обеспечить высокую эффективность только за счет комбинирования технических навыков с бизнес-экспертизой.

Чаще всего глубокая бизнес-экспертиза и хорошие технические знания по работе с данными идут порознь. В конце концов, человек становится профессионалом в той сфере, в которую инвестирует большую часть времени.

Поэтому, если у аналитика хорошая бизнес-экспертиза, но технические навыки хромают, то с помощью low-code он сможет легко решить свои проблемы. Это займет гораздо меньше времени, чем попытка объяснить программисту постановку задачи и добиться от него корректной реализации. Не говоря уж о том, что чаще всего техническую работу делать некому, т.к. компании испытывают большой дефицит IT-специалистов.

Если же аналитик сфокусирован на выполнении входящих задач от бизнес-пользователей, то работа в low-code формате позволит ему предоставлять результат быстрее и легче вносить в него корректировки. Потому что никто не знает, что заказчик попросит добавить или изменить завтра :)

Накопление экспертизы

Работа в Loginom интересна тем, что позволяет не только выполнить некие действия над данными, но и создать собственные переиспользуемые компоненты, которыми могут воспользоваться другие сотрудники организации.

Эти компоненты могут быть как преднастроенными подключениями к данным в разных источниках, так и подмоделями — сложными параметризованными процессами из десятков узлов. Подмодель выглядит для пользователя как узел сценария, в который можно войти.

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

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

Состав пакета Loginom

Скачайте архив с учебными файлами.

zipДанные для практики. День 2.zip

Если у вас не установлен архиватор для его открытия, то его можно скачать тут. Распакуйте содержимое архива в любую удобную папку. Главное, чтобы файл .lgp был в той же папке, что и каталог Demo Data.

 

Откройте Loginom. Отобразится начальный экран, где доступны действия открыть или создать пакет. Пакет — это базовая проектная единица в Loginom, представленная в виде файла с расширением lgp. Щелкните по кнопке Открыть пакет и откройте скачанный файл.

Перед вами откроется схема обработки данных. Она называется Сценарий.

Но не будем погружаться в нее прямо сейчас. Для начала изучим структуру пакета. Для этого кликнем левой кнопкой мыши (ЛКМ) по названию пакета в строке навигации.

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

Перемещаться между уровнями можно либо через выделение нужного узла в дереве слева, либо через двойной клик ЛКМ по нужному элементу в центральной области.

Что тут есть?

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

Ссылки — ссылки на другие пакеты, чьи компоненты могут быть переиспользованы. Это тот самый функционал, который позволяет формировать подключаемые библиотеки ваших и сторонних компонентов. Мы подробнее рассмотрим эту механику в будущем.

Отчеты — единое место для отображения отчетов текущего пакета. Вообще, все отчеты делаются в привязке к определенным узлам сценария. Узлы с отчетами можно определить по наличию пиктограммы глаза.

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

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

Каждый модуль всегда содержит в себе 3 подраздела:

  1. Сценарий — схема обработки данных, выстроенная как последовательность соединенных между собой узлов.
  2. Подключения — преднастроенные подключения к источниками типа баз данных (детально рассмотрим в будущем) и REST-подключений.
  3. Компоненты — перечень узлов сценария, разрешенных к переиспользованию. Именно они будут появляться в других пакетах при добавлении ссылок.

Интерфейс сценария Loginom

Сценарий представляет собой набор соединенных между собой узлов. Каждый узел реализует определенный функционал работы с данными. Доступные компоненты перечислены в левой части экрана.

Глобально узлы можно разделить на следующие группы:

  1. Узлы импорта. Отвечают за загрузку данных из разных источников.
  2. Узлы трансформации — преобразование данных, сходное с тем, что обычно делается базовыми SQL-запросами. Т.е. разнообразное соединение таблиц (JOIN/UNION), создание дополнительных вычисляемых полей, группировка, сортировка и т.д.
  3. Узлы управления. Используются, когда нужно реализовать сложную логику в сценарии. В частности, ветвление сценария по условию (IF) и выполнение действий в цикле.
  4. Узлы программирования. Позволяют вставлять в сценарий код на JavaScript или Python. Дают возможность применять библиотеки этих языков и при необходимости дописывать недостающий функционал.
  5. Узлы интеграции. Позволяют инициировать запуск внешних программ или сервисов из сценария Loginom. Используются в сложных интеграционных кейсах.
  6. Узлы статистической обработки. Большой набор узлов, посвященный исследованию и очистке данных, а также применению алгоритмов машинного обучения.
  7. Узлы переменных. Отдельный набор узлов по формированию переменных, включая генерацию переменных из таблицы (очень удобно для выноса параметров управления во внешний контур), вычисление переменных через выражения, группировка потоков переменных.
  8. Узлы экспорта. Все таблицы, которые формируются внутри Loginom, могут быть выгружены в виде файлов или экспортированы в базы данных для переиспользования в других аналитических системах и визуализаторах.

Рассмотрим подробнее сам сценарий.

То, что каждый компонент этой схемы называется узлом, мы уже выяснили. Узлы соединяются между собой через порты. Порты — это выступающие блоки слева и справа на узлах. Порты, которые находятся слева, называются входными. В них поступают данные, которые будут обработаны в узле. Порты, которые находятся справа, — выходные. На них выводится результат обработки данных.

Порты бывают разных типов, которые определяются их формой. В 99% случаев вы будете использовать 2 типа портов:

  1. Порт данных — прямоугольный порт. Он передает строго одну таблицу.
  2. Порт переменных — полукруглый порт. Может передавать несколько переменных, которые будут использованы внутри узла для подстановки в параметры узла или выражения.

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

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

Детали работы с этими режимами мы разберем на следующих занятиях.

Запуск сценариев

Давайте попробуем Loginom в деле. Сейчас все узлы перед нами серого цвета. Это значит, что они не активированы. Т.е. данные в них не загружены, действия не выполнены. Самый простой способ активировать узлы — нажать кнопку Play в панели инструментов.

Как результат этого действия, все узлы станут зелеными. Это значит, что сценарий отработал успешно.

Что дает активация узлов? Во-первых, при двойном клике ЛКМ по любому выходному порту вы увидите перечень данных, который вышел из узла в этом порту.

Так можно контролировать процесс преобразования данных.

Предпросмотр — это способ быстрого отображения результата, который выводит до 1 млн строк. Анализ и более глубокий аудит данных выполняется другими инструментами.

Также можно активировать не все узлы сразу. Для этого нужно кликнуть ЛКМ в центр пиктограммы узла. В результате появится мини-панель управления с 4-мя кнопками.

 

Кнопка Play/Stop — активация/деактивация узла в зависимости от текущего состояния. Зачем может потребоваться деактивировать узел? Например, если вначале данные были импортированы, а затем в них внесли изменения.

Узел хранит в себе информацию, загруженную в момент его активации. Для обновления данных узел требуется деактивировать и активировать повторно.

Деактивация узла приведет к деактивации всех зависимых от него узлов, их также придется активировать повторно. Запуск единичного узла активирует только те узлы, которые необходимы для его выполнения. Это полезно для оптимизации производительности при разработке и отладке.

Настройки узла (Шестеренка). Здесь можно задать специфичные для узла настройки. Вход в настройки и их изменение приводит к деактивации узла и всей последующей цепочки узлов.

Визуализаторы (Глаз с шестеренкой) — инструменты для отображения данных. Подробнее ниже по тексту.

Контекстное меню (Бутерброд) открывает меню со списком возможных действий над узлом. Также может вызываться через клик правой кнопкой мыши (ПКМ) по узлу.

Визуализаторы в Loginom

На каждый выходной порт данных может быть назначено несколько визуализаторов с разными настройками. Сразу обозначим, что Loginom — не система построения дашбордов и не имеет функционала для работы с моделью данных. Для построения дашбордов данные из Loginom экспортируются во внешние приемники и отображаются в сторонних BI-системах.

Каждый визуализатор работает с данными строго одной таблицы. Самый популярный визуализатор для исследования данных — Куб. Он позволяет построить сводную таблицу с динамической фильтрацией и простыми диаграммами, а также детализировать ячейки до базовых данных.

Мы изучим работу Куба более подробно на следующих занятиях.

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

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

Когда сценарий разрастается, и в нем используется множество визуализаторов в разных узлах, искать нужный отчет по лабиринтам узлов становится неудобно. Для облегчения этой задачи визуализаторы разных узлов могут быть добавлены в Отчеты — единое пространство визуализаторов в пакете. Самый быстрый способ попасть в этот раздел — кликнуть по стрелочке рядом с названием пакета в строке навигации и нажать на кнопку Отчеты.

Отчеты могут быть скомпонованы в группы для более удобной навигации.

Чтобы добавить визуализатор в каталог отчетов, нужно сначала зайти в настройки визуализаторов соответствующего узла через глаз с шестеренкой. А потом через клик ПКМ по нужному отчету назначить ему существующую группу или создать новую.

Использование переменных

Последний штрих в базовых механиках — работа с переменными. Для подмоделей можно определить порты переменных. Узел Подмодель отличается от других узлов наличием кнопки Войти. Подмодель помимо сценария содержит входные и выходные порты: прямоугольные — таблица, полукруглые — переменные.

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

Вернувшись на уровень выше (кликнув Выйти из подмодели) и щелкнув 2 раза ЛКМ по входному порту переменных на узле ABC, можно увидеть список переменных, которые создаются на этом порту.

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

Это значит, что порты с переменными могут быть использованы как пункт быстрых настроек узла. Динамические значения переменных могут быть получены через узлы Калькулятор переменныхи Таблица в переменные.

Важно! Чтобы получить видео-разбор всех практических заданий марафона, нажмите на кнопку ниже.

Задание

zipДанные для практики. День 2.zip

Изучите в разделе отчеты имеющиеся визуализаторы. Попробуйте добавить в любой визуализатор Куб дополнительные разрезы строк и столбцов. Узел ABC по товарам делит всю номенклатуру на 3 категории: A — товары, давшие 80% продаж, B — товары, давшие 15% продаж, C — товары, давшие 5% продаж.

Измените настройки переменных подмодели, чтобы получилась следующая сегментация: A — 50% продаж, B — 30% продаж, C — 20% продаж (доля C не задается в явном виде, она считается автоматически как 100-A-B). Зайдите в любую подмодель ABC и проследите, как переменные с ее входа используются внутри подмодели. Какое поле рассчитывается с применением этих переменных?

Добавьте в узле Дата + время новый визуализатор Куб, попробуйте собрать свой отчет. Попробуйте добавить после узла Загрузка продаж узел Фильтр строк, и подать в сценарий только те продажи, которые произошли с 01.01.2022 по 31.12.2022. Определите через предпросмотр данных (двойной клик ЛКМ по выходному порту), сколько записей получилось в таблице, выходящей из узла ABC по клиентам.

Походите по настройкам разных узлов, попробуйте их поменять. Обратите особое внимание на узел Рассчитываем ABC-сегменты в подмоделях.