Перейти к содержанию

Добавление логической модели

Чтобы создать новую модель, выполните одно из следующих действий:

  • в разделе Источники данных в интерфейсе просмотра списка источников установите img флажок напротив источника данных и нажмите на кнопку img Добавить. В выпадающем меню выберите значение Добавить в новую модель. Откроется окно редактирования новой модели с выбранным источником данных;

  • в разделе Источники данных откройте источник данных на просмотр и нажмите на кнопку img Добавить. В выпадающем меню выберите значение Добавить в новую модель. Откроется окно редактирования новой модели с выбранным источником данных;

  • в разделе Модели в интерфейсе просмотра списка моделей нажмите на кнопку img Добавить. В выпадающем меню выберите значение Добавить новую модель. Откроется окно редактирования новой модели, в которую добавьте источник данных.

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

После выполнения этих операций:

  • созданная модель будет сохранена в общем списке доступных пользователю моделей. Так как список упорядочен по убыванию Даты изменения, данная модель будет первой строкой списка;

  • для созданной модели будет присвоено наименование по умолчанию Новая логическая модель. В Системе можно создавать модели с одинаковыми названиями;

  • откроется окно редактирования для созданной модели.

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

Создание модели позволяет выполнить следующие действия:

  • выбор, а затем изменение входящих в модель блоков данных из источников. В зависимости от типа источника это могут быть таблицы, материализованные представления БД, SQL запросы, листы документов MS Excel или других ранее созданных моделей;

  • объединение данных с помощью связей типа JOIN и UNION;

  • настройка скрытия/видимости столбцов полученных в итоге операций объединения данных;

  • добавление в полученную итоговую структуру дополнительных расчетных столбцов;

  • визуальное упорядочивание модели при помощи перемещения блоков и объединения их в группы.

Первый добавленный в редактор блок данных становится основным. В области данных модели отображаются его данные. Данные прочих блоков дополняют данные модели после настройки их объединения с первым блоком связями типа JOIN или UNION.

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

Добавление источника данных

В левой части окна можно посмотреть источники данных модели. Чтобы раскрыть/скрыть иерархию, нажмите на кнопки svg и svg. Поле поиска позволяет найти источник по наименованию.

Для добавления источника данных нажмите на кнопку svg в блоке Источники данных и в выпадающем списке выберите необходимый вариант добавления:

img

  • Выбрать существующий - выбор уже существующего в Системе источника данных. В окне выбора установите img флажки напротив источников данных и нажмите на кнопку img Добавить. Кнопка активна после выбора хотя бы одного источника;

  • Создать новый источник - создание нового источника данных. В окне создания источника заполните поля и нажмите на кнопку img Сохранить.

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

Добавление модели

Для добавления модели, как источника данных, нажмите на кнопку svg в блоке Модели. В окне для выбора модели установите img флажок напротив необходимой модели и нажмите на кнопку img Добавить.

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

Добавление SQL

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

В поле ввода SQL-запроса при вводе первых букв отображаются значения справочников (IntelliSense) и подсветка синтаксиса. Справочники реализованы по полям модели, ключевым словам (select, from и др.), алиасам, таблицам. При выборе алиаса в выпадающем списке в формуле указывается код выбранного поля для корректной работы запроса. При выборе листов или таблиц файловых источников в выпадающем списке в запросе прописывается его название в обратных кавычках для корректной работы запроса.

Для создания SQL запроса выполните действия:

1.Наведите курсор мыши на источник данных или модель, для которых нужно создать SQL-запрос.

2.Нажмите на кнопку svg.

img

3.В открывшемся меню выберите значение Добавить SQL. Откроется окно создания SQL запроса.

img

4.Введите наименование и SQL-запрос. Наименование на кириллице автоматически переводится в латиницу. Новые наименования проверяются на уникальность.

Особенности написания SQL

SQL-запросы к файловым источникам выполняются через Spark SQL.

  • в SQL-запросе к источнику с типом xslx наименования листов должно быть в одинарных кавычках. При операции JOIN в запросе SELECT * укажите конкретный список полей;

    SELECT 
        `Лист1`.`Фамилия`, 
        `Лист1`.`Имя`, 
        `Лист1`.`Отчество`, 
        `Лист2`.`Ид страны`, 
        `Лист1`.`Страна` 
    FROM 
        `Лист1` JOIN `Лист2` ON `Лист1`.`Страна`=`Лист2`.`Ид страны`
    
  • в SQL-запросе к источнику с типом json:

    • если json представлен в виде простого списка строк(1), то обращение к этой единственной таблице выполняется через default.

      SELECT * FROM `default`
      
    • если json представлен в виде нескольких вложенных таблиц(2), то обращение к этим таблицам выполняется по именам из ключей словаря верхнего уровня.

      SELECT * FROM `table1` INNER JOIN `table2` ON `table1`.`id1`=`table2`.`id2`
      
  • обращение к загруженной модели выполняется через logic_(идентификатор модели) после сохранения SQL-запроса. Система позволяет обратиться через view_(идентификатор модели) к текущей модели.

    SELECT * FROM view_163
    
  1. [
    {...},
    {...}
    ]
  2. {
    table1: [{...}, {....}],
    table2: [{...}, {....}],
    }

5.Нажмите на кнопку img Выполнить, результат отобразится в таблице ниже.

img

6.Чтобы очистить окно ввода SQL-запроса, нажмите на кнопку img Очистить.

7.Нажмите на кнопку img Сохранить, созданный SQL запрос сохранится и появится в левом верхнем углу схемы модели.

При сохранении запроса реализована проверка на наличие всех используемых полей в уже созданных виджетах, в том числе и системных виджет-фильтрах. В случае отсутствия нужных полей в запросе при сохранении отобразится уведомление: Сохранить SQL-запрос невозможно, так как в нем отсутствует поле [название_поля]. Данное поле используется в следующих виджетах: [список_виджетов].

img

Добавление вычисляемой таблицы

В модели можно использовать вычисляемые таблицы - пользовательские блоки для обработки данных. Работа с вычисляемой таблицей включает следующие действия:

  • добавление вычисляемой таблицы на схему модели;

    img

  • определение ее структуры;

    img

  • заполнение вычисляемой таблицы путем задания и публикации скрипта заполнения вычисляемой таблицы в ETL-редакторе;

    img

  • обновление превью модели, после чего через Spark выводятся данные вычисляемой таблицы в полном режиме превью.

    img

Добавить вычисляемую таблицу можно одним из способов:

  • нажмите на кнопку svg напротив блока Вычисляемые таблицы. В блоке Вычисляемые таблицы отобразится объект с названием Новая таблица.

img

  • нажмите на кнопку img Добавить объект на панели кнопок и в выпадающем списке выберите пункт Вычисляемая таблица.

img

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

Настройка структуры вычисляемой таблицы

Для определения структуры вычисляемой таблицы выполните следующие действия:

1.Откройте контекстное меню вычисляемой таблицы одним из способов:

  • в блоке Вычисляемые таблицы напротив необходимой вычисляемой таблицы нажмите на кнопку svg, откроется контекстное меню с возможными действиями;

img

  • в области схемы модели напротив необходимой вычисляемой таблицы нажмите на кнопку svg, откроется контекстное меню с возможными действиями .

img

2.Выберите пункт Определить структуру. Откроется форма определения структуры.

3.Структура вычисляемой таблицы определяется созданием полей. Для создания первого поля нажмите на кнопку img Создать поле. Откроется форма создания поля:

img

  • на вкладке Описание задайте:

    • Алиас - наименование поля в том виде, в каком оно будет отображаться в пользовательском интерфейсе окон (можно использовать кириллицу и пробелы). Обязательно для заполнения;

    • Наименование - краткое наименование поля (латинскими буквами, цифрами 0-9 и символом _, одним словом, без пробелов), которое может быть использовано в формулах и фильтрах. Значение при сохранении приводится к нижнему регистру. Обязательно для заполнения;

    • Тип - выбор типа данных. Обязательно для заполнения:

      • Логическое;
      • Дата;
      • Число (дробное);
      • Число (целое);
      • Строка;
    • Единицы измерения - строка для указания единицы измерения. Если значение поля пусто, то единицы измерения не отображаются;

    • Число знаков после запятой;

    • Разделитель дробной части;

    • Разделитель тысяч;

    Поля Единицы измерения, Число знаков после запятой, Разделитель дробной части и Разделитель тысяч доступны для типа данных Число (дробное).

    Поля Единицы измерения и Разделитель тысяч доступны для типа данных Число (целое).

    • Формат - поле выбора формата даты или даты и времени.

img

  • на вкладке Параметры задайте:

    • Базовый цвет - при нажатии открывается окно с палитрой цветов. Доступны два способа выбора цвета:

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

      • Расширенная - позволяет выбрать цвет из палитры, также есть возможность указать цвет с помощью его HEX, RGBA или HSLA кода.

    • Итоговая агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Промежуточная агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Выравнивание текста:

      • По центру;
      • По левому краю;
      • По правому краю;
    • Является справочником - свойство поля, которое позволяет сформировать набор уникальных значений поля. В фильтрах виджетов будет доступен выбор значений из списка;

    Свойство Является справочником недоступно для полей с типом данных Дата и Число (дробное).

    • Является ссылкой - свойство поля, которое позволяет отобразить значения поля ссылкой. В виджетах поле будет визуально отличаться от основного текста и будет содержать ссылку для перехода на другую страницу:

      • Ссылка - все значения поля ссылки;
      • Текст - поле ввода текста, который будет указан как ссылки;
      • Значение - выбор поля, значения которого будут указаны как наименования ссылки.
    • Скрыто - свойство поля, которое позволяет скрыть столбец в модели.

4.Нажмите на кнопку img Сохранить. Чтобы сбросить настройки поля без сохранения, нажмите img Сбросить изменения.

5.Чтобы добавить остальные поля вычисляемой таблицы, нажмите на кнопку svg в левой части окна.

Для удаления поля наведите на него и нажмите кнопку svg и выберите Удалить.

Для копирования поля наведите на него и нажмите кнопку svg и выберите Копировать. Копируются все настройки и свойства поля, в Наименование добавляется _copy.

Для скрытия поля наведите на него и нажмите кнопку svg, для видимости поля нажмите svg.

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

Заполнение вычисляемой таблицы

Вычисляемая таблица заполняется с помощью ETL-редактора модели. Перейдите в ETL-редактор:

1.Откройте контекстное меню вычисляемой таблицы одним из способов:

  • в блоке Вычисляемые таблицы напротив необходимой вычисляемой таблицы нажмите на кнопку svg, откроется контекстное меню с возможными действиями;

img

  • в области схемы модели напротив необходимой вычисляемой таблицы нажмите на кнопку svg, откроется контекстное меню с возможными действиями .

img

2.Выберите пункт Открыть скрипт заполнения. Откроется ETL-редактор.

img

Также ETL-редактор можно открыть по кнопке svg.

img

Работа с ETL-редактором описана в разделе ETL-редактор технической документации.

После задания правил заполнения вычисляемой таблицы в области предпросмотра данных модели отображаются данные.

Добавление вычисляемых полей

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

Добавить вычисляемое поле можно одним из способов:

  • нажмите на кнопку svg напротив блока Вычисляемые поля. Откроется форма добавления поля.

img

  • нажмите на кнопку img Вычисляемое поле на панели кнопок в области просмотра данных модели. Откроется форма добавления поля.

img

Окно добавления поля содержит:

img

  • на вкладке Описание:

    • Алиас - наименование поля в том виде, в каком оно будет отображаться в пользовательском интерфейсе окон (можно использовать кириллицу и пробелы). Обязательно для заполнения;

    • Наименование - краткое наименование поля (латинскими буквами, цифрами 0-9 и символом _, одним словом, без пробелов), которое может быть использовано в формулах и фильтрах. Значение при сохранении приводится к нижнему регистру. Обязательно для заполнения;

    • Значение - формула, с использованием операторов нотации языка Spark SQL, в качестве переменных используйте наименования других столбцов данной строки. Названия столбцов должны содержать префикс, включающий:

      • название таблицы в базе данных-источнике;
      • название и номер листа, если поле из источника excel-файла, например, List1;
      • Jsql. - для поля из SQL запроса;

      В поле ввода SQL-запроса при вводе первых букв отображаются значения справочников (IntelliSense) и подсветка синтаксиса. Справочники реализованы по полям модели, ключевым словам (select, from и др.), алиасам, таблицам. При выборе алиаса в выпадающем списке в формуле указывается код выбранного поля для корректной работы запроса. При выборе листов или таблиц файловых источников в выпадающем списке в запросе прописывается его название в обратных кавычках для корректной работы запроса.

    • Тип - выбор типа данных:

      • Логическое;
      • Дата;
      • Число (дробное);
      • Число (целое);
      • Строка;
    • Единицы измерения - строка для указания единицы измерения. Если значение поля пусто, то единицы измерения не отображаются;

    • Число знаков после запятой;

    • Разделитель дробной части;

    • Разделитель тысяч;

    Поля Единицы измерения, Число знаков после запятой, Разделитель дробной части и Разделитель тысяч доступны для типа данных Число (дробное).

    Поля Единицы измерения и Разделитель тысяч доступны для типа данных Число (целое).

    • Формат - поле выбора формата даты или даты и времени.

    Поле Формат доступно для типа данных Дата.

img

  • на вкладке Параметры задайте:

    • Базовый цвет - при нажатии открывается окно с палитрой цветов. Доступны два способа выбора цвета:

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

      • Расширенная - позволяет выбрать цвет из палитры, также есть возможность указать цвет с помощью его HEX, RGBA или HSLA кода.

    • Итоговая агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Промежуточная агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Выравнивание текста:

      • По центру;
      • По левому краю;
      • По правому краю;
    • Является справочником - свойство поля, которое позволяет сформировать набор уникальных значений поля. В фильтрах виджетов будет доступен выбор значений из списка;

    Свойство Является справочником недоступно для полей с типом данных Дата и Число (дробное).

    • Является ссылкой - свойство поля, которое позволяет отобразить значения поля ссылкой. В виджетах поле будет визуально отличаться от основного текста и будет содержать ссылку для перехода на другую страницу:

      • Ссылка - все значения поля ссылки;
      • Текст - поле ввода текста, который будет указан как ссылки;
      • Значение - выбор поля, значения которого будут указаны как наименования ссылки.
    • Скрыто - свойство поля, которое позволяет скрыть столбец в модели.

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

Пример создания вычисляемого поля

Вычисляемое поле выполняет расчет процентного отношения двух других полей модели, а в случае превышения значения 100% устанавливает значение - 100.

В поле Значение используется формула:

CASE
    WHEN (jsql.kolicestvo_20 >=List1.kolicestvo_obektov_v_reestre) THEN 100
    ELSE 100 * jsql.kolicestvo_20 / List1.kolicestvo_obektov_v_reestre
END

где:

  • jsql.kolicestvo_20 - поле числовых значений количества из SQL запроса к источнику типа База данных;

  • List1.kolicestvo_obektov_v_reestre - поле числовых значений количества из другого источника - Excel-файла.

Настройка структуры данных

Конструктор структуры данных позволяет:

  • добавлять в модель и удалять из нее основной и дополнительные блоки данных из источников:

    • Таблица или View - исходные структуры данных в источниках: таблицы БД, view, листы MS Excel файлов. На схеме модели - блоки розового цвета;

    • SQL-запрос - SQL запросы для источников, поддерживающих SQL и моделей. На схеме модели - блоки синего цвета;

    • Модель - другие, ранее созданные модели с загруженными в Систему данными. На схеме модели - блоки зеленого цвета;

    • Вычисляемая таблица - пользовательские блоки для обработки данных. На схеме модели - блоки фиолетового цвета;

  • добавлять в модель связи блоков между собой, а также с группами и соединениями типа UNION. Поддерживаются следующие типы связей:

    • svg INNER JOIN  - возвращаются только совпадающие строки;

    • svg LEFT JOIN - несовпадающие строки из левой таблицы возвращаются в дополнение к совпадающим строкам;

    • svg RIGHT JOIN - несовпадающие строки из правой таблицы возвращаются в дополнение к совпадающим строкам;

    • svg FULL OUTER JOIN - несовпадающие строки из обеих таблиц возвращаются в дополнение к совпадающим строкам;

  • выделять визуально на схеме группы данных и объединения типа UNION;

  • трансформировать и обрабатывать данные, используя готовые скрипты в ETL-блоках;

  • просматривать текущий результат объединения в виде таблицы с данными;

  • добавлять в результат объединения дополнительные расчетные столбцы.

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

Добавление блоков выполняется с помощью drag-and-drop - перемещение нужных блоков на поле схемы модели.

gif

Блоки доступны в левом меню окна:

  • Источники данных;
  • Модели - при использовании модели как источника, все поля этой модели передаются с реализованными настройками: алиасы полей, настроенные свойства Скрыто, Является справочникомЯвляется ссылкой;
  • Вычисляемые таблицы - это виртуальный объект (пользовательский блок), получение данных которого происходит путем выполнения неких алгоритмов или через web-сервис;
  • Вычисляемые поля.

Для удобства работы и более полного использования экрана можно изменить режим отображения модели. Для увеличения области отображения схемы модели в режиме редактирование модели нажмите кнопку svg Развернуть в правом верхнем углу окна. При разворачивании схемы скрывается область работы с источниками данных, а также область данных модели. Чтобы вернуть предыдущий режим, нажмите на кнопку svg Свернуть.

gif

Связи данных типа JOIN

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

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

Для актуализации данных в превью после настройки связей типа JOIN необходимо обновлять предпросмотр с помощью кнопки Обновить.

Связи типа JOIN создаются:

  • автоматически - если источником данных является БД и эти связи созданы в ней (foreign keys) и успешно загружены в модель;

  • вручную - если пользователь Системы принял решение, что данные связаны по равенству значений одного или нескольких указанных им полей в блоках данных.

Для первичной настройки связи типа JOIN кликните по блоку на схеме и нажмите на кнопку svg. Выберите Добавить JOIN.

img

Форма настройки связей содержит:

img

1.Выбор вида связи JOIN:

  • svg INNER JOIN  - возвращаются только совпадающие строки;

  • svg LEFT JOIN - несовпадающие строки из левой таблицы возвращаются в дополнение к совпадающим строкам;

  • svg RIGHT JOIN - несовпадающие строки из правой таблицы возвращаются в дополнение к совпадающим строкам;

  • svg FULL OUTER JOIN - несовпадающие строки из обеих таблиц возвращаются в дополнение к совпадающим строкам;

2.Кнопка img Создать для сохранения настроенной связи. Кнопка доступна после выбора поля в левой и правой части окна.

3.Кнопка img Отменить для закрытия окна без сохранения настроек связи.

4.Область выбора полей для связи настраиваемого блока. Поле Поиск позволяет выполнить поиск по наименованию поля модели.

5.Область выбора блока данных для связи. Поле Поиск позволяет выполнить поиск по наименованию поля модели.

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

img

Окно редактирования связей содержит:

img

1.Выбор вида связи JOIN:

  • svg INNER JOIN  - возвращаются только совпадающие строки;

  • svg LEFT JOIN - несовпадающие строки из левой таблицы возвращаются в дополнение к совпадающим строкам;

  • svg RIGHT JOIN - несовпадающие строки из правой таблицы возвращаются в дополнение к совпадающим строкам;

  • svg FULL OUTER JOIN - несовпадающие строки из обеих таблиц возвращаются в дополнение к совпадающим строкам;

2.Блок кнопок действий:

  • img Добавить - добавление нового условия связи блоков данных. Несколько условий объединяются вместе логическим И (требуется совпадение значений всех указанных столбцов в связываемых блоках данных);

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

  • img Удалить - удаления выбранного условия или связи данных в целом. Кнопка доступна после выбора связи, которую планируется удалить.

3.Список настроенных условий связи блоков данных:

  • поле для выбора связи;
  • наименование полей в основном блоке данных связи;
  • наименование полей в блоке данных связи.

Связи данных типа UNION

Объединение типа UNION позволяет соединить данные нескольких блоков по принципу SQL UNION. Условием является полное совпадение структур соединяемых данных в части состава столбцов, их названий и типов. 

В объединении типа UNION могут участвовать следующие блоки данных:

  • Таблицы или представления источников данных,

  • SQL запросы к базам-источникам;

  • другие модели;

  • группы блоков данных;

  • другие объединения типа UNION.

Чтобы добавить объединение типа UNION, нажмите на кнопку img Добавить UNOIN на панели кнопок и в выпадающем списке выберите UNOIN. В модель добавится блок Новый UNION. В эту область перенесите соединяемые блоки.

img

Блок UNION можно также объединить с другими, добавив условие JOIN.

img

Чтобы добавить объединение типа UNION ALL, нажмите на кнопку img Добавить UNOIN на панели кнопок и в выпадающем списке выберите UNOIN ALL В модель добавится блок Новый UNION ALL. В эту область перенесите соединяемые блоки, отвечающие описанным условиям.

Объединение типа UNION ALL позволяет соединить данные нескольких блоков по принципу SQL UNION ALLUNION ALL возвращает все строки из запроса и не удаляет повторяющиеся строки между различными операторами SELECT. Каждый запрос SELECT в операторе UNION ALL должен иметь одинаковое количество полей в наборах результатов с одинаковыми типами данных.

Объединение данных в группы

Группа - объединение данных, которое позволяет удобнее организовать модель, сделать ее структуру нагляднее и понятнее.

Группа может включать в себя:

  • соединения типа JOIN и UNION;
  • другие группы и объединения типа UNION.

Группа может быть соединена:

  • с блоками данных с использованием JOIN;
  • с группами с использованием JOIN;
  • с объединением типа UNION.

Чтобы добавить группу в модель, нажмите на кнопку img Добавить объект на панели кнопок и в выпадающем списке выберите пункт Группа. В модель добавится блок Новая группа. Переместите в область группы включаемые блоки данных и соедините их с помощью связи типа JOIN. При перемещении связанных объектов данных в группу/из группы будет перемещен сам объект и все его связанные объекты справа. Если перемещаемый объект был связан слева с другим объектом, то данная связь будет удалена с соответствующим уведомлением.

gif

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

Добавление иерархии

В таблицу данных модели можно добавить иерархию на основании полей модели или созданных вычисляемых полей. В одной модели можно создать несколько иерархий с использованием одного и того же поля. Для создания иерархии нажмите на кнопку img Иерархия. Откроется окно добавления иерархии вкладка Данные.

img

Заполните поля:

  • Алиас - наименование поля в том виде, в каком оно будет отображаться в пользовательском интерфейсе окон (можно использовать кириллицу и пробелы). Обязательно для заполнения;

  • Наименование - краткое наименование поля (латинскими буквами, цифрами 0-9 и символом _, одним словом, без пробелов), которое может быть использовано в формулах и фильтрах. Значение при сохранении приводится к нижнему регистру. Обязательно для заполнения;

  • Тип - стандартная, выбрана по умолчанию;

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

Нажмите на кнопку img Сохранить. Отобразиться уведомление о создании иерархии.

img

Откроется окно редактирования иерархии вкладка Иерархия. Вкладка содержит:

img

1.Список полей в иерархии. С помощью drag-and-drop можно поменять расположение поля в иерархии.

gif

Контекстное меню поля содержит пункты:

img

  • Свойства - редактирование свойств поля;

  • Удалить - удаление поля из иерархии;

Если поле иерархии используется в виджете или поле иерархии выбрано для создания виджет-фильтров в информационной панели, то при удалении поля появится уведомление о невозможности выполнения действия.

2.Таблица полей модели в режиме описания столбцов. В списке доступна сортировка и фильтрация. Чтобы выбрать поле, установите флажки напротив поля. Поля отобразятся в списке полей иерархии;

3.Область предпросмотра данных иерархии. Кнопка img Обновить позволяет обновить данные иерархии после изменений. Также доступен выбор режима отображения полей:

  • svg таблица - отображаются выбранные поля в табличном виде;

    img

  • svg структура - отображаются выбранные поля в виде иерархии.

    img

Загрузка данных иерархии выполняется автоматически:

  • при открытой и активной вкладке браузера;
  • при открытой форме, на которой должны отобразиться данные;
  • до превышения максимально установленного времени загрузки - 15 минут.

В иных случаях операция загрузки автоматически завершается в течение 5-10 секунд.

4.Кнопки управления:

  • img Сохранить - для сохранения настроенной иерархии. Отобразится уведомление о сохранении иерархии;
  • img Отменить - закрыть окно редактирования иерархии, без сохранения изменений;
  • img Удалить - удаление иерархии из модели.

В модели столбцы, участвующие в иерархии, будут объединены в группу. При наведении курсора мыши на группу отобразится алиас иерархии.

img

Чтобы открыть контекстное меню иерархии, нажмите на кнопку svg рядом с наименованием. Контекстное меню содержит:

img

  • Скрыть/Показать - скрытие/отображение всех столбцов иерархии. Если столбцы скрыты, то они будут недоступны для использования в схеме данных модели и не будут отображаться в интерфейсе;

  • Редактировать - открытие формы редактирования иерархии;

  • Удалить - удаление иерархии.

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

img

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

img

В режиме просмотра описания полей модели иерархия отображается с объединенными полями. У наименования иерархии слева отображается пиктограмма svg.

img

Доступно редактирование алиасов полей иерархии:

  • svg в режиме просмотра описания столбцов в столбце ALIAS поля иерархии;

    gif

  • svg в режиме просмотра данных модели в наименованиях столбов иерархии;

    gif

Добавление иерархии для даты

Для типа Дата можно автоматически сформировать иерархию по уровням. 

В режиме просмотра описания полей модели у каждого поля с типом Дата слева от наименования отображается пиктограмма svg. При наведении на пиктограмму отображается подсказка Для данного поля можно сформировать иерархию.

img

Для создания иерархии поля с типом Дата выполните следующие действия:

1.Перейдите в окно редактирования поля модели и нажмите кнопку img Создать иерархию.

img

2.Заполните поля формы:

  • Алиас - наименование поля в том виде, в каком оно будет отображаться в пользовательском интерфейсе окон (можно использовать кириллицу и пробелы). Обязательно для заполнения;

  • Наименование - краткое наименование поля (латинскими буквами, цифрами 0-9 и символом _, одним словом, без пробелов), которое может быть использовано в формулах и фильтрах. Значение при сохранении приводится к нижнему регистру. Обязательно для заполнения;

  • Уровни иерархии - выбор значения уровня иерархии:

    • Год;
    • Полугодие;
    • Квартал;
    • Месяц (число);
    • Месяц (строка);
    • Номер недели;
    • День недели (число);
    • День недели (строка);
    • День;

img

Нажмите на кнопку img Создать, иерархия будет создана. Для иерархии будут созданы вычисляемые поля по выбранным уровням.

img

Для изменения уровней иерархии перейдите на форму редактирования, вкладку Иерархия. Нажмите на кнопку svg напротив наименования иерархии и выберите пункт Редактировать

img

Откроется окно Уровни. Выберите новые уровни иерархии и нажмите на кнопку img Пересоздать. Кнопка доступна, когда изменены уровни иерархии. После нажатия на кнопку Пересоздать отобразится окно подтверждения действия.

img

Нажмите на кнопку img Изменить, иерархия будет пересоздана. Чтобы закрыть окно, без сохранения изменений нажмите кнопку img Отмена.

Для удаления иерархии в окне редактирования иерархии нажмите на кнопку img Удалить.

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

img

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

Настройки колонок данных

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

img

Редактирование колонки

Окно редактирования поля позволяет изменить:

img

  • вкладка Описание:

    • Алиас - наименование поля в том виде, в каком оно будет отображаться в пользовательском интерфейсе окон (можно использовать кириллицу и пробелы). Обязательно для заполнения;

    Алиас столбца также можно изменить:

    • в режиме просмотра данных модели. Двойным кликом по наименованию перейдите в режим редактирования;

    gif

    • в режиме описания столбцов. Двойным кликом по наименованию в столбце ALIAS перейдите в режим редактирования.

    gif

    • Единицы измерения - строка для указания единицы измерения. Если значение поля пусто, то единицы измерения не отображаются;

    • Число знаков после запятой;

    • Разделитель дробной части;

    • Разделитель тысяч;

    Поля Единицы измерения, Число знаков после запятой, Разделитель дробной части и Разделитель тысяч доступны для типа данных Число (дробное).

    Поля Единицы измерения и Разделитель тысяч доступны для типа данных Число (целое).

    • Формат - поле выбора формата даты или даты и времени.

    Поле Формат доступно для типа данных Дата.

  • вкладка Параметры:

    • Базовый цвет - при нажатии открывается окно с палитрой цветов. Доступны два способа выбора цвета:

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

      • Расширенная - позволяет выбрать цвет из палитры, также есть возможность указать цвет с помощью его HEX, RGBA или HSLA кода.

    • Итоговая агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Промежуточная агрегация:

      • Количество - количество значений;
      • Количество уникальных - количество уникальных значений;
      • Минимум - минимальное среди значений;
      • Максимум - максимальное среди значений;
    • Выравнивание текста:

      • По центру;
      • По левому краю;
      • По правому краю;
    • Является справочником - свойство поля, которое позволяет сформировать набор уникальных значений поля. В фильтрах виджетов будет доступен выбор значений из списка;

    Свойство Является справочником недоступно для полей с типом данных Дата и Число (дробное).

    • Является ссылкой - свойство поля, которое позволяет отобразить значения поля ссылкой. В виджетах поле будет визуально отличаться от основного текста и будет содержать ссылку для перехода на другую страницу:

      • Ссылка - все значения поля ссылки;
      • Текст - поле ввода текста, который будет указан как ссылки;
      • Значение - выбор поля, значения которого будут указаны как наименования ссылки.
    • Скрыто - свойство поля, которое позволяет скрыть столбец в модели.

Изменения в схеме модели, влияющие на ее данные, запускают обновление таблицы предпросмотра как в части структуры (состава столбцов), так и в части данных (значений ячеек).  Кнопка img Обновить на панели кнопок таблицы, позволяет выполнить принудительное обновление предпросмотра данных модели.

Скрытие колонки

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

Чтобы скрыть столбец, воспользуйтесь одним из способов:

  • на форме редактирования модели в области предпросмотра данных в режиме svg Данные нажмите на кнопку svg рядом с наименованием столбца, который необходимо скрыть. В выпадающем списке выберите пункт Скрыть;

img

  • на форме редактирования модели в области предпросмотра данных в режиме svg Описание столбцов установите img флажок в поле Скрыто рядом с наименованием столбца, который необходимо скрыть;

img

  • в режиме редактирования поля модели, которое необходимо скрыть, на вкладке Параметры в свойстве Скрыто передвиньте переключатель вправо (включен) .

img

Вернуть в модель все столбцы можно такими же способами. Отобразить все скрытые столбцы в области предпросмотра данных можно с помощью опции img Показать скрытые колонки.

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

img

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

img

У скрытых вычисляемых полей в меню в левой части окна будет отображаться иконка svg.

img

Добавление ETL-блока

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

Каждый ETL-блок содержит:

  • скрипт с функцией определения списка полей объекта и функцией сборки данных блока (по аналогии с after_load/after_all-функциями из ETL-редактора), и скрипт определения;

  • список настраиваемых параметров, которые пользователь должен указать на странице редактирования модели при помещении данного ETL-блока на схему модели.

Доступные ETL-блоки:

  • Вычисляемые поля - блок предназначен для добавления вычисляемых полей к любой части модели. Вычисляемое поле задается названием и выражением для вычисления значения поля. При указании выражений вычисляемых полей используется Spark SQL;

  • Декоратор - блок предназначен для произвольного преобразования схемы и процедуры получения данных любой части модели;

  • Функция - блок предназначен для реализации произвольного поведения при обработке данных модели;

  • SQL-блок - блок позволяет выполнить произвольное SQL-выражение над любой частью модели;

  • Временная серия - блок позволяет сгенерировать столбец с некоторыми периодическими временными значениями;

  • Разворот иерархии Parent-Child - блок предназначен для преобразования таблицы с parent-child иерархией в таблицу, где уровни иерархии вынесены (развернуты) в отдельные столбцы;

  • Прогнозирование временного ряда - блок выполняет прогнозирование временного ряда на основе автоматически обучаемой статистической модели;

  • Классификация/регрессия с ML-моделью - блок выполняет предсказание (классификацию, регрессию) для вложенной в него таблицы на основе ML-модели из внутреннего реестра ML-моделей;

  • ML-модель в ручном режиме - блок предназначен для опытных специалистов по ML-моделям в случае нехватки функционала блоков Прогнозирование временного ряда (авто) и Классификация/регрессия с ML-моделью;

  • JSON-блок - блок позволяет преобразовать значения из JSON-поля в новые строки или столбцы. Работает со значениями полей как в виде объектов, так и массивов.

Для подключения ETL-блоков из внешнего репозитория используется переменная среды ETL_BLOCKS_REPOSITORY. В переменной указывается адрес собственного репозитория. В список ETL-блоков добавляются блоки из стороннего репозитория. Создание собственных ETL-блоков можно выполнять с использованием клиентской библиотеки analytic-workspace-client.

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

img

Для добавления ETL-блока нажмите на кнопку img Добавить объект на панели кнопок и в выпадающем списке выберите пункт ETL-блок.

img

Откроется окно выбора блока.

img

Для выбора блока в списке установите флажок напротив необходимого блока и нажмите на кнопку img Добавить в появившейся панели выполнения действий.

img

После добавления ETL-блока на схему модели откроется окно для задания параметров ETL-блока. Каждый ETL-блок имеет свой набор параметров. С подробным описание каждого ETL-блока и его параметров можно ознакомиться перейдя по ссылке Подробнее о блоке, указанной в окне настройки параметров ETL-блока.

img

Для наполнения ETL-блока данными переместите с помощью drag-and-drop в его область блоки данных и соедините их связью типа JOIN. При перемещении связанных объектов данных в или из ETL-блока, будет перемещен сам объект и все его связанные объекты справа. Если перемещаемый объект был связан слева с другим объектом, то откроется предупреждение, что данная связь будет удалена.

Невозможно соединить при помощи JOIN блоки данных внутри и вне ETL-блока. Для такого соединения используйте связь JOIN ETL-блока целиком и объекта вне ETL-блока.

Для переименования ETL-блока:

  • в области схемы модели напротив необходимого ETL-блока нажмите на кнопку svg, откроется контекстное меню. Выберите пункт Переименовать и измените название;

img

  • дважды нажмите на наименование ETL-блока и измените название.

gif

Для удаления ETL-блока в области схемы модели напротив необходимого ETL-блока нажмите на кнопку svg, откроется контекстное меню. Выберите пункт Удалить.

img

Для связи ETL-блока с другими блоками или объектами в области схемы модели напротив необходимого ETL-блока нажмите на кнопку svg, откроется контекстное меню. Выберите пункт Добавить JOIN.

img

Обновление структуры объекта

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

Способы обновления структуры объектов:

  • массовое обновление по кнопке img Обновить структуру на схеме модели;

    img

  • для индивидуального обновления - с помощью пункта Обновить в контекстном меню объекта схемы модели.

    img

В объектах, в которые были добавлены новые поля, в режиме редактирования будет отображаться кнопка svg Обновить таблицу. Это значит, что структура таблицы на данный момент неактуальна и ее необходимо обновить. Данная кнопка отображается после сбора статистики, не чаще чем раз в шесть часов.

img

Система сбора статистики определяет наличие "битых" объектов в моделях. "Битый" - объект с измененной структурой в источнике. Такой объект помечается пиктограммой svg. На основе отметок определяется необходимость обновления структуры данных объектов схемы.

Объект считается "битым" в следующих случаях:

  • таблица была удалена из источника;

  • поле таблицы было удалено из источника;

  • у поля таблицы изменился тип в источнике;

  • источник не отвечал в момент анализа объектов.

Загрузка данных модели в хранилище

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

Для проверки загрузки данных в модель нажмите кнопку svg Посмотреть загрузку в Airflow. В новом окне web-браузера откроется интерфейс Apache Airflow с деталями процесса.

img

Если доступа на просмотр модели нет, то вместо дерева шагов процесса откроется окно с сообщением: У вас нет прав на просмотр модели с id . Вернуться назад.

img

Процесс загрузки выполняет:

  • сбор данных из различных источников;
  • преобразование данных в соответствии с бизнес-правилами;
  • загрузка данных в целевое хранилище данных. В качестве хранилища Системы выступает БД ClickHouse (или кластер ClickHouse), в котором построчные данные хранятся в виде столбцов и предоставляется оптимизированная индексация.

Каждый новый успешный процесс загрузки данных создает новую таблицу в хранилище и удаляет самую старую версию, согласно параметру MODEL_SYNC_COUNT (количество хранимых версий). За счет версионности происходит присвоение уникальных имен каждой версии модели.

Для работы с динамически изменяющимися таблицами из внутреннего хранилища Системы, доступен функционал по созданию представлении (view), что позволяет использовать в сторонних системах ClickHouse системы, как источник данных.

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

img

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

img