Добрый день, коллеги
Подскажите пожалуйста, хочу создать ETL-процесс который позволит осуществлять мониторинг наполняемости дашборда на текущий день. То есть этот процесс будет запускаться по расписанию, проверять наличие информации в таблицах, обеспечивающих работоспособность дашборда, за текущий день, а затем отправлять сообщение на email ответственным лицам информационную сводку о том какие таблицы заполнены а какие нет. В идеале отправлять письмо только тогда когда есть не заполненные таблицы и именно на Email, а не аккаунт пользователя Alpha BI.
Возможно ли настроить такой ETL-процесс? Можно ли передать текст сообщения через переменную, полученную в результате опроса таблиц с текстом сообщения?
Добрый день.
Да, такой ETL-процесс возможен и полностью реализуем в Alpha BI.
Схема будет следующая:
Первым блоком вы ставите “Чтение данных бизнес-объекта”. В этом блоке вы выбираете нужную таблицу или бизнес-объект, который обеспечивает работу вашего дашборда, и сразу настраиваете фильтрацию по вашим условиям.
Дальше вы добавляете блок “Группировщик”, который посчитает общее количество строк, попавших в него после фильтра. По сути, вы получите сколько записей в таблице удовлетворяющее вашему условию.
Следующим блоком ставите “Фильтр”. Здесь вы проверяете, что получилось в группировщике: больше ли нуля количество вхождений. Если да, значит таблица заполнена. Если нет - значит, данных нет.
Далее идёт блок “Отправка сообщения на e-mail”. Вы подключаете его к выходу фильтра. Важный момент: блок отправки сообщения в Alpha BI работает с пользователями и ролями системы. Вы можете выбрать конкретных пользователей или целые роли, структурные подразделения, и письмо уйдёт на тот email, который указан в карточке каждого пользователя. Поэтому заранее проверьте, что в карточках ответственных лиц заполнены актуальные адреса электронной почты.
Что касается отправки только при незаполненных таблицах - здесь логика строится на том, куда вы подключите блок отправки. Если вы подключите блок отправки к выходу “Положительный исход”, письмо будет уходить, когда данные есть. Если подключите к выходу “Отрицательный исход”, письмо будет уходить, когда данных нет. Вы выбираете нужный вам вариант.
В описанной простой схеме можно написать фиксированный текст, например: “В таблице X за сегодня нет данных”. Если нужно формировать сводку сразу по нескольким таблицам, то придётся использовать цикл или несколько параллельных веток, но это уже более сложный сценарий.
Отвечая на ваш второй вопрос: передать текст сообщения через переменную, полученную в результате проверки таблиц (бизнес-объекта), в данной схеме нельзя. Блок “Отправка сообщения на e-mail” не поддерживает подстановку переменных из результатов проверки бизнес-объекта. Поэтому в рамках описанной простой схемы вы можете использовать только фиксированный текст сообщения.
Также важно, чтобы в системе были выполнены предварительные настройки.
В разделе “Администрирование” должны быть заданы все параметры для работы почты - SMTP-сервер, порт, учётные данные отправителя. Без этого письма отправляться не будут.
И конечно, чтобы этот процесс работал в автоматическом режиме и не требовал ручного запуска каждый день, вы создаёте задачу в Планировщике Alpha BI. В настройках вы выбираете нужный вам ETL процесс, задаете нужную периодичность. После этого ETL-процесс будет запускаться в фоновом режиме самостоятельно. Вы просто один раз настраиваете расписание, и дальше система сама проверяет таблицы, формирует сводку и отправляет письма, если обнаружены проблемы.
С уважением, команда Alpha BI.



