Работа с JSON¶
Фильтрация JSON¶
В конструкторе запросов Glarus BI не может разбирать JSON в столбцах, поэтому вы можете фильтровать только по «Пусто» или «Не пусто».
Разворачивание JSON¶
С некоторыми базами данных Glarus BI может разворачивать столбцы JSON на составные поля, по которым затем можно фильтровать в конструкторе запросов.
Вот таблица со столбцом, содержащим JSON.

Glarus BI может развернуть этот JSON-столбец так, что каждый ключ в JSON-объекте получит свой столбец в таблице. Вот развёрнутые поля таблицы со столбцом JSON из примера выше:

И здесь видны значения как в таблице:

Такое разворачивание позволяет фильтровать по значениям из исходного JSON-объекта.
Glarus BI добавит к названиям развёрнутых столбцов префикс с названием исходного столбца, в котором был JSON. Изменить названия столбцов можно в Управление > Метаданные таблиц, либо создав модель и отредактировав метаданные полей.
Включение и отключение разворачивания JSON для базы данных¶
Если вы заметили снижение производительности из‑за разворачивания JSON, мы рекомендуем отключить эту возможность.
Чтобы отключить разворачивание JSON для базы данных:
- Нажмите на шестерёнку в правом верхнем углу.
- Выберите Управление.
- Откройте вкладку Базы данных.
- Выберите нужную базу данных.
- Нажмите Отобразить дополнительные параметры.
- Переключите Разрешить разворачивание столбцов JSON.
- Прокрутите вниз и нажмите Сохранить изменения.
- Нажмите Выполнить синхронизацию схемы.
- Нажмите Пересканировать значения полей.
Включение и отключение разворачивания JSON для конкретного столбца¶
Если производительность ухудшилась, или вы предпочитаете хранить JSON в исходном столбце, вы можете отключить разворачивание для отдельных полей в их настройках.
- Нажмите шестерёнку в правом верхнем углу.
- Выберите Управление.
- Откройте вкладку Метаданные таблиц.
- Выберите базу данных, в которой находится поле.
- Выберите таблицу, в которой находится поле.
- Выберите поле с исходным JSON.
- В разделе Поведение найдите параметр Разворачивание JSON и выберите Да или Нет. Если столбец был развёрнут, Glarus BI скроет исходный JSON‑столбец. Если вы хотите снова отображать этот столбец, нужно изменить его видимость на Везде.
- Прокрутите вверх, нажмите Фильтровать значения и выберите Пересканировать это поле.

Чтобы разворачивание JSON работало, тип данных столбца должен быть JSON¶
Например, если вы загрузили CSV с JSON‑значениями, возможно, вам понадобится обновить тип данных в базе данных. Обратите внимание: в Glarus BI нельзя редактировать тип данных столбца, можно только изменить его тип поля. Поэтому даже если тип поля в Glarus BI — Поле, содержащее JSON, но тип данных в базе — не JSON, Glarus BI не предложит опцию разворачивания. В этом случае нужно изменить тип столбца в самой базе данных.
Базы данных, которые поддерживают разворачивание JSON¶
- BigQuery: включено автоматически; применяется только к типам
STRUCT.
!!! note "Примечание"
Если ваши данные хранятся в типе данных STRUCT (cloud.google.com, англ.) в BigQuery, вы можете запрашивать вложенные поля таблицы. Это включено по умолчанию. Однако Glarus BI не будет разворачивать JSON, сохранённый в BigQuery как тип JSON. Это связано с тем, что в BigQuery вложенные поля — часть самого определения таблицы, поэтому когда Glarus BI синхронизируется с вашей базой данных BigQuery, он сможет получить метаданные о любых ваших таблицах, включая таблицы с вложенными полями. Однако запрос вложенных полей не распространяется на массивы (REPEATED (STRUCT)) в BigQuery.
- Druid (JDBC)
- MongoDB: включено автоматически для всех вложенных полей.
- MySQL
- PostgreSQL