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

Работа с JSON

Фильтрация JSON

В конструкторе запросов Glarus BI не может анализировать JSON в столбцах, поэтому вы можете фильтровать только по "Пусто" или "Не пусто".

Развёртывание JSON

С некоторыми базами данных, Glarus BI может развернуть столбцы JSON в поля их внутренних компонентов, которые затем вы сможете фильтровать, используя конструктор запросов.

Вот таблица со столбцом, который содержит JSON.

Таблица со столбцом JSON

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

Неразвёрнутые поля

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

Неразвёрнутые значения

Такое развёртывание позволяет вам фильтровать значения, найденные в оригинальном JSON-объекте.

Glarus BI предварит название развёрнутого столбца оригинальным названием столбца, содержащего JSON. Вы можете поменять названия столбцов в Управление > Таблица метаданных или создавая модель и редактируя метаданные столбца.

Переключение развёртывания JSON для базы данных

Если вы замечаете снижение производительности из-за этого развёртывания JSON, мы рекомендуем выключить его.

Чтобы выключить развёртывание JSON для базы данных, следует:

  1. Щёлкнуть на шестерёнку вверху справа.
  2. Выбрать Управление.
  3. Перейти в раздел Базы данных.
  4. Выбрать релевантную базу данных.
  5. Щёлкнуть Отобразить дополнительные параметры.
  6. Переключить Разрешить развёртывание столбцов JSON.
  7. Нажать Сохранить изменения в нижней части формы.
  8. Щёлкнуть Выполнить синхронизацию схемы.
  9. Щёлкнуть Пересканировать значения полей.

Переключение развёртывания JSON для отдельного столбца

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

  1. Щёлкнуть на шестерёнку вверху справа.
  2. Выбрать Управление.
  3. Перейти в Метаданные таблиц.
  4. Выбрать базу данных, которая содержит поля, которые нужно обновить.
  5. Выбрать таблицу, которая содержит поле.
  6. Выбрать поле, содержащее оригинальный JSON.
  7. Прокрутить страницу до опции Развернуть JSON и выбираем Да или Нет. Если столбец был развёрнут, Glarus BI скроет данный JSON. Чтобы столбец JSON появился вновь, нужно изменить видимость столбца на Везде.
  8. Нажать Пересканировать это поле в нижней части формы.

Настройки развёртывания JSON

Для работы развёртывания JSON данные в столбце должны быть в формате JSON

Например, если вы подгружаете CSV с JSON, вам придётся обновить тип данных в базе данных. Обратите внимание, что вы не можете редактировать тип данных в Glarus BI; вы только можете изменить тип поля. Таким образом, даже если тип поля в Glarus BI стал Поле, содержащее JSON, если тип данных не JSON, Glarus BI не позволит развернуть столбец. Вам придётся изменить тип столбца в самой базе данных.

БД, которые поддерживают развёртывание JSON

Примечание

BigQuery: Glarus BI поддерживает тип данных STRUCT в BigQuery, но не будет разворачивать JSON, сохраненный в BigQuery как тип JSON. Если ваши данные хранятся в типе STRUCT в BigQuery, вы можете запрашивать вложенные поля таблицы.

Дополнительная информация

BigQuery отличается от других баз данных тем, что вложенные поля являются частью самого определения таблицы. Поэтому, когда Glarus BI синхронизируется с вашей базой данных BigQuery, он сможет получить метаданные о любой из ваших таблиц, включая таблицы с вложенными полями. Однако запрос вложенных полей не распространяется на массивы (REPEATED (STRUCT)) в BigQuery.