Skip to main content

SQL-преобразование данных

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

Этап 1: Редактор скрипта загрузки

На этом этапе данные загружаются из источника данных во внутреннее хранилище Fastboard. В скрипте загрузки используется синтаксис и возможности Clickhouse (подробнее: https://clickhouse.com/docs/ru/sql-reference ). Данные, полученные с помощью скрипта загрузки хранятся в проекте в виде несвязанных таблиц. 

Этап 2: Конструктор моделей данных

Модель данных заменяет собой секцию FROM у запросов, по которым в конструкторе дашбордов строятся визуализации. Она строится в визуальном конструкторе и представляет собой набор таблиц проекта, соединенных операторами JOIN в одну. Моделей может быть произвольное количество, в зависимости от потребностей пользователя.

Этап 3: Конструктор дашбордов

В конструкторе дашбордов пользователь оперирует данными, обработанными в скрипте загрузки и объединенными в  модель данных. На этом этапе доступны кастомные SQL-запросы в следующих блоках:

SQL-редактор виджета

Формирует набор данных для отдельно взятой визуализации. В редакторе доступны для редактирования три поля: Разрезы, Показатели, Группировки и фильтры.

image.png

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

Группировки и фильтры определяют секции WHERE, ORDER BY и GROUP BY запроса.

Для агрегации показателей существуют встроенные функции (SUM, COUNT, AVG, MIN, MAX), а также "По выражению":

Показатель по выражению

image.png

image.png

Данная функция позволяет написать произвольное SQL-выражение для выбранного показателя. Это выражение будет добавлено в основной SQL-редактор виджета, в поле "Показатели", с указанием алиаса данного показателя.

image.png

Цвет по условию

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

case 
when Car.BRAND = 'Toyota' then '1'
when Car.BRAND = 'Mitsubishi' then '2'
else '3'
end

где цифры в одинарных кавычках это выбранные образцы цветаimage.png

SQL-редактор медиаблока

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

SQL-редактор медиаблока не имеет полей "Разрезы" и "Показатели", вместо них одно поле "Переменные", аналогично определяющее секцию SELECT, и поле "Группировки и фильтры", аналогично стандартному редактору определяющее секции WHERE, ORDER BY и GROUP BY

Переменные в медиаблоке

Имена переменных назначаются на основной вкладке параметров медиаблока. Можно увеличить их количество кнопкой "Добавить переменную" или удалить выбранную переменную с помощью кнопки "Корзина". Переименовать переменную можно нажав на ее название.

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

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

Картинки в медиаблоке