Общая информация

В Modus BI реализовано два сценария создания наборов данных:

  1. Простые и составные наборы — создаются через разделы «Подключения» и «Правила загрузки данных». Данные из внешнего источника загружаются во внутренний ClickHouse портала. На основе простых наборов можно строить составные наборы данных. Подробнее см. разделы «Простой набор данных» и «Составной набор данных».
  2. Произвольные наборы данных — создаются через раздел «Источники». В этом сценарии вы подключаетесь напрямую к внешнему источнику данных и формируете набор с помощью произвольного SQL-запроса. Именно этому сценарию посвящена данная статья.

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

 

Настройка произвольного набора данных

Каждый набор относится к конкретному источнику. Для просмотра настроенных наборов данных перейдите в раздел  «Настройки/ Наборы данных», выберите источник данных.

Для настройки нового набора данных нажмите на кнопку «Добавить набор». Заполните поля «Имя набора данных» (обязательно уникальное), «Заголовок набора данных» и нажмите на кнопку «Создать».

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

Откройте поле для ввода текста запроса для получения данных набора нажатием на иконку глаза напротив поля «SQL Запрос».

Для удобства работы с SQL-запросами в поле «SQL Запрос» используется многофункциональный редактор кода на базе CodeMirror. Редактор предоставляет подсветку синтаксиса SQL с учетом диалекта выбранного источника данных, нумерацию строк, автоматическое закрытие скобок и кавычек, поддержку мультикурсорного редактирования, а также функции Undo/Redo. При вводе текста работает автодополнение стандартных SQL-ключевых слов и встроенных функций (автодополнение также доступно по сочетанию клавиш + ).

Редактор корректно обрабатывает системные конструкции проекта, такие как !env.NAME!, !env.NAME.BEGIN!, !env.NAME.END!, а также выражения с fallback-логикой внутри фигурных скобок (например, {!env.REGION!; 2}). Эти конструкции распознаются как валидный синтаксис и не помечаются как ошибка.

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

Введите текст запроса на языке SQL:

  • Синтаксис запроса должен соответствовать синтаксису диалекта SQL, используемого в источнике. Наличие ошибок в запросе можно проверить, нажав на кнопку «Проверить запрос».
  • Если запрос обращается к базе данных и к схеме базы данных, которые были указаны по умолчанию в настройках раздела «Источники данных», их можно не указывать в тексте запроса.
  • В Наборах данных возможно выполнять объединение таблиц через JOIN — главное учитывать, что такие SQL-запросы выполняются непосредственно в СУБД при каждом открытии отчета. Поэтому важно, чтобы СУБД справлялась с нагрузкой и такие запросы были оптимизированы. Modus ETL, в свою очередь, позволяет выполнять предварительную обработку и объединение данных из разных источников — это оптимально при сложной трансформации, высокой нагрузке или необходимости кэширования результатов.

Нажмите на кнопку «Проверить запрос» (2). Если запрос прошел проверку на работоспособность, в правом нижнем углу отобразиться сообщение «SQL запрос прошел проверку» и выходные поля запроса заполнятся (3).

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

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

При необходимости заполните описание полей. После окончания настройки набора нажмите на кнопку «Сохранить».

Примечание — столбец «Иерархия» позволяет логически сгруппировать связанные поля данных под общим названием для удобства навигации и организации работы с набором данных. Указание иерархии групп упрощает структурирование информации и последующий анализ при использовании их при настройке компонентов. Например, поля можно разделить по группам:

  • «География» с полями: регион, город, адрес;
  • «Финансы» с полями: сумма, прибыль, бюджет;
  • «Время» с полями: год, месяц, дата.

Имя группы иерархии может быть любое, главное, отличное от имени поля.

Ниже приведен пример настройки столбца «Иерархия» и отображения данных полей в наборе данных при настройке компонента.

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

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

Дополнение набора данных полями с частями даты

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

Для использования частей дат не нужно знать SQL-функции для работы с датами и их особенности для разных СУБД, а достаточно выбрать требуемые части даты в удобных интерфейсах.

Для использования функционала:

  1. В наборе данных настройте дополнительные поля с частями даты. Для этого нажмите на иконку шестеренки рядом с полем типа «Дата» (см. рисунок ниже, U) и выберите необходимые дополнения (X).
  2. В Конструкторе компонента разместите дополнительные поля с частями даты (см. рисунок ниже, P) на полке «Значения», «Категории», «Серии», «Фильтры» (R), а также настройте правила детализации в разделе «Дрилл» (D):

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

Восстановить удаленный набор данных

Если набор данных был удален, возможно его восстановление, изменив признак deleted в базе метаданных портала. Удаленные записи остаются в базе портала с признаком deleted = 1.

Чтобы восстановить набор данных, выполните следующие шаги:

  1. Подключитесь к базе метаданных, используя любой доступный клиент для работы с СУБД (например, DBeaver, SQL Developer и т. д.). Посмотреть название базы метаданных возможно в разделе metadata в файле настроек «modusbi.json», который расположен в каталоге исполняемого файла Аналитического портала.
  2. В таблице dataset найдите нужный набор данных.
  3. Измените значение поля deleted с 1 на 0.
  4. Перейдите на портал и проверьте, появился ли восстановленный набор данных. Если данные не отобразились, попробуйте перезагрузить портал, для этого перейдите в «Настройки/ Настройки портала/ Перезагрузка».
Внимание — рекомендуется сделать резервную копию базы данных перед внесением изменений. Некорректное изменение данных в базе может привести к сбоям в работе портала.
Связи контента