Структура дашборда в JSON
Дашборды позволяют визуализировать, организовывать и совместно использовать аналитические данные.
Каждый дашборд характеризуется следующими особенностями:
- Может состоять из одной или нескольких строк панелей.
- Каждая панель содержит визуализацию, например, диаграмму или таблицу.
- В каждой панели поиск генерирует данные для визуализации.
- Включает элементы
inputs
, такие как текстовые поля или мультивыбор, для взаимодействия с пользователем. Элементы в дашборде можно настроить для реагирования на ввод данных, например, для изменения поискового запроса, который управляет визуализацией.
Общий вид иерархии дашборда выглядит следующим образом
{
"label": [0..1],
"inputs": [
{
"input": [0..N]
}
],
"rows": [
{
"panels": [0..N]
}
],
"vars": [
{
"var": [0..N]
}
]
}
Элемент | Описание | Представление в JSON |
---|
Заголовок | Наименование дашборда. | |
Фильтры | Массив элементов для взаимодействия. | |
Строки | Массив строк дашборда с панелью или панелями. | |
- | - | |
Фильтры определяют интерфейс взаимодействия пользователя с дашбордом. Фильтр, например, радиокнопки и чек-бокс позволяют пользователям выбирать один или несколько вариантов. Другие фильтры, такие как текстовые поля, поля ввода времени и т.д. позволяют пользователям вводить данные или изменять временной диапазон поиска.
В каждом элементе используются следующие атрибуты.
Название | Тип данных | Предназначение |
---|
name | Строка | Системное имя фильтра. |
label | Строка | Текстовая метка для фильтра. |
type | | Один из представленных типов. time text selection checkbox radio multiselection
|
options | Объект | Предварительные настройки для фильтра. |
token | Объект | Значение, выбранное пользователем с помощью фильтра. |
timeInput | Строка | Значение системного поля фильтра типа time для использования в поисковых запросах. Применим для типов фильтров: selection , multiselection . |
В каждом фильтре могут использоваться различные виды настроек.
Название | Тип данных | Предназначение |
---|
default | Объект | Настройки по умолчанию для фильтра. |
static | Массив | Перечень значений, которые заполняются вручную (для типов checkbox , selection , radio , multiselection ). |
allow_custom | Булево значение | Возможность ввести свой вариант для дальнейшего выбора в фильтре (только для типа multiselection ). |
search | Строка | Поисковый запрос для формирования динамических опций выбора в фильтре (только для типов selection и multiselection ). |
Для каждого типа фильтров используются свои настройки по умолчанию.
Тип фильтра | Структура | Описание |
---|
time | { "options": { "default": { "start": "string", "end": "string", "isPaused": "boolean", "refreshInterval": "number" } } }
| start - начало временного периода.end - конец временного периода.isPaused - флаг включения/выключения автоматического обновления времени.refreshInterval - временной период автоматического обновления времени.
|
checkbox
selection
multiselection
| { "options": { "default": [ { "label": "string", "value": "string" } ] } }
| label - Отображаемое значение в фильтре.value - Системное значение в фильтре.
|
text
radio
| { "options": { "default": "string" } }
| Текстовое значение по умолчанию. |
Для каждого типа фильтров токен имеет свое представление.
Тип фильтра | Структура | Описание |
---|
checkbox
multiselection
| { "token": { "prefix": "string", "suffix": "string" }, "token_value": { "prefix": "string", "suffix": "string" }, "delimiter": "string" }
| Для token prefix - Текст, добавляемый перед токеном.suffix - Текст, добавляемый после токена.
Для token_value prefix - Текст, добавляемый перед значением токена.suffix - Текст, добавляемый после значения токена.
Для delimiter delimiter - Разделитель между выбранными значениями.
|
text
radio
selection
| { "token": { "prefix": "string", "suffix": "string" } }
| prefix - Текст, добавляемый перед токеном.suffix - Текст, добавляемый после токена.
|
В контексте интерфейсов дашбордов элемент rows
(строки) является контейнером для одного или нескольких дочерних элементов panel
(панель). Она служит для группировки и управления расположением панелей на странице.
Внутри контейнера row
(строка) располагаются элементы panel
(панель), которые служат для отображения визуальных данных (графики, диаграммы и т.п.). Панели позволяют управлять группировкой и расположением визуализаций на странице.
Внутри панели элементы визуализации выравниваются по горизонтали. Для расположения визуализаций вертикально, создаётся новый контейнер row
.
Общий вид структуры панели
{
"inputs": [],
"height": "number | string",
"width": "number | string",
"label": "string",
"type": "string",
"viz": {},
"depends": [],
"subpanels": []
}
Элемент | Описание | Представление в JSON |
---|
Фильтры | Массив элементов для взаимодействия. | |
Высота панели | Числовое или строковое значение (в процентах) высоты панели. | |
Ширина панели | Числовое или строковое значение (в процентах или пикселях) ширины панели. | |
Заголовок | Заголовок панели. | |
Тип | Тип панели. | |
Визуализация | Используемая визуализация в панели. | |
Отображение | Массив токенов, используемых для отображения панели. | |
Подпанели | Массив дочерних панелей. | |
Панель может содержать один или несколько типов визуализаций.
Элемент | Структура | Описание |
---|
options
| { "viz": { "options": {} } }
| Настройки для визуализации. |
options.sme.query | { "viz": { "options": { "sme": { "query": "string" } } } }
| Поисковый запрос формирующий значения в визуализации. |
options.drilldown | { "viz": { "options": { "drilldown": { "enableDrilldown": "boolean", "drilldownType": "string", "drilldownText": "string", "drilldownQuery": "string", "drilldownCustomTimeTokenEarliest": "string", "drilldownCustomTimeTokenLatest": "string", "drilldownSelectTimeToken": "string", "drilldownTokens": [{ "name": "string", "value": "string" } ] } } } }
| Механизм Drilldown (детализации). enableDrilldown - флаг включения детализацииdrilldownType - тип детализации. Доступны опции: search (поиск), custom (произвольная ссылка), tokenControl (Изменение токенов)drilldownText - значение произвольной ссылки (Только для custom )drilldownQuery - значение поискового запроса (Только для search )drilldownCustomTimeTokenEarliest - левая граница произвольного временного диапазона (Только для search )drilldownCustomTimeTokenEarliest - правая граница произвольного временного диапазона (Только для search )drilldownSelectTimeToken - системное имя токена временного диапазона. Для произвольного значения используется customPicker . (Только для search )drilldownTokens - массив токенов, которые участвуют в работе детализации. Элемент массива включает в себя название токена name и значение токена value (только для tokenControl )
|
timeToken
| { "viz": { "timeToken": "string" } }
| Значение системного поля фильтра типа time для использования в поисковых запросах ИЛИ заранее заданные временные рамки начала (start ) и конца (end ) запроса. |
{ "viz": { "timeToken": { "start": "string", "end": "string" } } }
|
type
| { "viz": { "type": "string" } }
| Один из представленных типов визуализаций. |
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.colorRuleList | { "options": { "colorRuleList": [{ "field": "string", "colorScheme": "string", "pallete": "string | []", "show": "boolean", "isBackground": "boolean" } ] } }
| Настройка цветовой схемы столбцов. field - Название поля.colorScheme - Тип расцветки. Доступны опции: scale (палитра), field (по значению), range (диапазон).palette - Палитра раскраски. Значение поля зависит от поля colorScheme .show - Флаг отображения настройки цветовой схемы.isBackground - Флаг раскраски ячейки столбца.
|
colorRuleList[].palette | | Для colorScheme со значением scale , палитра раскраски задаётся строкой. Например, white_to_green (от белого к зеленому). |
{ "pallete": [{ "value": "string", "color": "string" } ] }
| Для colorScheme со значением field , палитра раскраски задаётся объектом или объектами со значениями: value - Значение ячейки.color - Значение цвета в HEX-формате.
|
{ "pallete": [{ "minValue": "number", "maxValue": "number", "color": "string" } ] }
| Для colorScheme со значением range , палитра раскраски задаётся объектом или объектами со значениями: minValue - Числовое значение левой границы диапазона.maxValue - Числовое значение правой границы диапазона.color - Значение цвета в HEX-формате.
|
options.tableAutoWidth | { "options": { "tableAutoWidth": "boolean" } }
| Флаг автоматического расчета ширины таблицы. |
options.pagination | { "options": { "pagination": { "enabled": "boolean", "rowsPerPageList": [{ "label": "string" } ], "rowsPerPageDefault": { "label": "string" } } } }
| Настройка пагинации. enabled - Флаг включения пагинации в таблице.rowsPerPageList - Массив опций выбора количества отображаемых строк в таблице. Элемент массива задается значением со структурой поля rowsPerPageDefault .rowsPerPageDefault - Значение отображаемых строк в таблице по умолчанию.
|
options.summary | { "options": { "summary": { "enabled": "boolean" } } }
| Флаг включения статистики по столбцам. |
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.general | { "options": { "general": { "fieldForTrend": "string", "fieldForValue": "string", "label": "string" } } }
| Общие настройки. fieldForTrend - Название поля для построения трендовой линии.fieldForValue - Название поля для отображения метрики.label - Название панели метрики.
|
options.show | { "options": { "show": { "arrow": "boolean", "label": "boolean", "sparkline": "boolean", "delimiters": "boolean", "delimiter": "string" } } }
| Настройки отображения. arrow - Флаг отображения трендового индикатора.label - Флаг отображения названия панели метрики.sparkline - Флаг отображения тренда.delimiters - Флаг отображения разделителя тысяч.delimiter - Значение разделителя. Допустимы значения: запятая (, ), точка (. ), пробел ( ).
|
options.color | { "options": { "color": { "invert": "boolean", "isRange": false, "color": [{ "color": "string", "value": "string | number" } ] } } }
| Настройка раскраски метрики по значениям. invert - Флаг включения инвертированного порога.isRange - Флаг раскраски метрики по диапазону. В данном случае он равен false.color - Массив пар цвета в HEX-формате color и значения метрики value .
|
{ "options": { "color": { "invert": "boolean", "isRange": true, "color": [{ "color": "string", "range": { "min": "number", "max": "number" } } ] } } }
| Настройка раскраски метрики по диапазону. invert - Флаг включения инвертированного порога.isRange - Флаг раскраски метрики по диапазону. В данном случае он равен true.color - Массив пар цвета в HEX-формате color и диапазона значения метрики range , который описывается минимальным значением min и максимальным значением max .
|
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.general | { "options": { "general": { "checkedDonut": "boolean", "checkedLabel": "boolean", "checkedOther": "boolean", "checkedSliceCount": "boolean", "checkedSlicePercent": "boolean", "textField": "string", "threshold": "number", "truncateText": "boolean", "truncatePosition": "string" } } }
| Общие настройки. checkedDonut - Флаг включения кольцевой диаграммы.checkedLabel - Флаг включения отображения названия на диаграмме.checkedOther - Флаг включения сектора "Другое".checkedSliceCount - Флаг включения отображения количества значений для каждого сектора.checkedSlicePercent - Флаг включения отображения значения в процентах для каждого сектора.textField - Название диаграммы.threshold - Значение порога в процентах для сектора "Другое".truncateText - Флаг включения сокращения текста для каждого сектора.truncatePosition - Начало позиции сокращения текста. Допустимы значения left (слева), right (справа) и center (середина).
|
options.color | { "options": { "color": { "rulesArray": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски секторов. field - Название сектора в диаграмме.color - Значение цвета в HEX-формате.
|
options.theme | { "options": { "theme": { "name": "string" } } }
| Преднастроенная тема раскраски секторов. |
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableArea": "boolean", "multiseries": "boolean" } } }
| Общие настройки. showScrollBar - Флаг включения шкалы предварительного просмотра в диаграмме.stackedMode - Флаг включения группировки рядов данных.enableArea - Флаг включения закраски площади под графиком.multiseries - Флаг включения разбиения рядов данных на графике.
|
options.line | { "options": { "line": { "smooth": "number", "opacity": "number", "strokeWidth": "number" } } }
| Настройка отображения линии. smooth - Значение плавности линии.opacity - Значение прозрачности линии.strokeWidth - Значение ширины линии.
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Настройка группировка данных. dataGrouping - Флаг включения группировки данных.dataGroupingAutoBaseInterval - Флаг включения автоматического расчета интервала группировки данных.dataGroupingBaseInterval - Объект ручного расчета интервала группировки данных. Объект характеризуется единицей времени timeUnit и количеством единиц count .dataGroupingCount - Значения количества данных, которых необходимо сгруппировать.
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Настройка оси X. title - Название оси.labelRotation - Значение градуса поворота значений на оси.truncate - Флаг включения сокращения названия значений на оси.
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Настройка оси Y. title - Название оси.logarithmic - Флаг включения логарфмической шкалы отображения. По умолчанию - линейное (false).minVal - Нижняя граница значений на оси.maxVal - Верхняя граница значений на оси.
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Настройка легенды. enabled - Флаг включения отображения легенды на графике.position - Значение расположения легенды на графике. Допустимы значения: right (справа), left (слева), top (сверху), bottom (снизу).truncateText - Флаг включения сокращения значений в легенде.
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски линий. field - Название линии.color - Значение цвета в HEX-формате.
|
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableBar": "boolean", "multiseries": "boolean" } } }
| Общие настройки. showScrollBar - Флаг включения шкалы предварительного просмотра в диаграмме.stackedMode - Флаг включения группировки рядов данных.enableBar - Флаг включения горизонтального отображения.multiseries - Флаг включения разбиения рядов данных на графике.
|
options.column | { "options": { "column": { "borderRadius": "number", "opacity": "number" } } }
| Настройка отображения столбца. borderRadius - Значение радиуса скругления углов столбца.opacity - Значение прозрачности столбца.
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Настройка группировка данных. dataGrouping - Флаг включения группировки данных.dataGroupingAutoBaseInterval - Флаг включения автоматического расчета интервала группировки данных.dataGroupingBaseInterval - Объект ручного расчета интервала группировки данных. Объект характеризуется единицей времени timeUnit и количеством единиц count .dataGroupingCount - Значения количества данных, которых необходимо сгруппировать.
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Настройка оси X. title - Название оси.labelRotation - Значение градуса поворота значений на оси.truncate - Флаг включения сокращения названия значений на оси.
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Настройка оси Y. title - Название оси.logarithmic - Флаг включения логарфмической шкалы отображения. По умолчанию - линейное (false).minVal - Нижняя граница значений на оси.maxVal - Верхняя граница значений на оси.
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Настройка легенды. enabled - Флаг включения отображения легенды на графике.position - Значение расположения легенды на графике. Допустимы значения: right (справа), left (слева), top (сверху), bottom (снизу).truncateText - Флаг включения сокращения значений в легенде.
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски столбцов. field - Название столбца.color - Значение цвета в HEX-формате.
|
Для визуализации характерны следующие типы настроек.
Элемент | Структура | Описание |
---|
options.general | { "options": { "general": { "html": "string" } } }
| Общие настройки. |
options.styles | { "options": { "styles": { "сss": "string" } } }
| Настройка стилей. |