Типы данных и семантические типы¶
Glarus BI различает два типа метаданных столбцов: типы данных и семантические типы.
-
Типы данных — это исходный тип столбца, заданный в вашей базе данных, например
DateилиText. Glarus BI считывает типы данных во время синхронизации базы данных. -
Семантические типы (их также называют типами полей) — это метки, которые описывают, как следует интерпретировать данные. Например, если у вас есть столбец с типом данных
Text, где хранятся email‑адреса, вы можете назначить семантический типEmail, чтобы пользователи (и Glarus BI) понимали, какие данные хранятся в этом столбце.
Типы данных и семантические типы определяют, как Glarus BI форматирует данные, какие визуализации доступны, как работают фильтры и другие возможности.
Типы данных¶
Типы данных — это исходные типы столбцов, определённые в вашей базе данных. Glarus BI считывает типы данных во время синхронизации базы данных. Поскольку Glarus BI подключается ко множеству разных баз данных, «под капотом» он использует собственную иерархию типов — чтобы, например, корректно работать с датами и в PostgreSQL, и в MongoDB.
Основные типы данных в Glarus BI:
| Тип данных | Примеры типов в базах данных |
|---|---|
| Числовой | INTEGER, FLOAT |
| Временной | DATE, TIMESTAMP |
| Текстовый | VARCHAR, TEXT |
| Текстоподобный | MongoDB BSONID, Postgres Enum |
| Логический | Boolean |
| Составной | JSON, BigQuery RECORD, MongoDB Object |
Сейчас Glarus BI не поддерживает типы массивов. В столбцах, содержащих массивы, вы сможете фильтровать только по условиям Пусто и Не пусто.
Для некоторых полей можно выполнить явное приведение типа (например, интерпретировать текстовый тип как дату).
Семантические типы¶
Семантические типы добавляют полю смысл и контекст: они показывают назначение данных и включают дополнительные возможности. Доступные семантические типы зависят от исходного типа данных.
Семантические типы для любого поля¶
-
Ключ сущности. Указывает, что поле однозначно идентифицирует каждую строку. Например, Product ID, серийный номер и т. п.
-
Внешний ключ. Используется для ссылки на ключ сущности другой таблицы, чтобы связывать данные из разных связанных таблиц. Например, в таблице
Productsможет быть полеCustomer ID, которое ссылается на таблицуCustomers, гдеCustomer ID— ключ сущности. Если вы хотите использовать связанные фильтры на дашбордах, нужно настроить связи по внешним ключам.
Семантические типы для числовых полей¶
- Количество (Quantity)
- Оценка (Score)
- Процент (Percentage)
- Финансовый (Financial)
- Валюта (Currency)
- Скидка (Discount)
- Доход (Income)
- Местоположение (Location)
- Широта (Latitude)
- Долгота (Longitude)
- Категория (Category)
Семантические типы для временны́х полей¶
- Дата создания (Creation date)
- Время создания (Creation time)
- Временна́я метка создания (Creation timestamp)
- Дата присоединения (Joined date)
- Время присоединения (Joined time)
- Временна́я метка присоединения (Joined timestamp)
- День рождения (Birthday)
Семантические типы для текстовых полей¶
- Название сущности (Entity name)
- URL
- URL изображения (Image URL)
- URL аватара (Avatar URL)
- Категория (Category)
- Имя (Name)
- Заголовок (Title)
- Описание (Description)
- Продукт (Product)
- Источник (Source)
- Местоположение (Location)
- Город (City)
- Штат/регион (State)
- Страна (Country)
- Почтовый индекс (ZipCode)
Семантические типы для составных полей¶
Поле, содержащее JSON, см. работа с JSON.
Редактирование типов данных и семантических типов¶
Администраторы могут приводить типы данных и редактировать семантические типы во вкладке "Метаданные таблиц" в Управлении.
Приведение типов данных¶
Типы данных нельзя напрямую изменить в Glarus BI, но некоторые типы можно привести к другим типам, чтобы, например, Glarus BI интерпретировал текстовый тип данных как дату.
Изменения в "Метаданные таблиц" применяются ко всему экземпляру Glarus BI. Однако, если вы строите запрос в конструкторе запросов, можно использовать выражения для приведения типов, такие как date() или integer(), чтобы привести строку к другому типу только в рамках конкретного запроса.
Семантические типы не меняют тип данных¶
В настройках метаданных таблиц можно выбрать семантический тип, совместимый с исходным типом данных.
Семантические типы добавляют смысл, но не должны использоваться для приведения типов. Например, если вы назначите текстовому полю семантический тип "Количество", Glarus BI всё равно будет считать это поле текстовым. Семантические типы нужны, чтобы подсказать Glarus BI, как форматировать или визуализировать поле (например, что числовое значение — это процент).
Что дают типы данных и семантические типы¶
Формат отображения¶
Некоторые семантические типы меняют способ отображения данных в поле.
Настройки форматирования из подраздела Управления "Метаданные таблиц" применяются ко всему экземпляру Glarus BI, но пользователи могут менять форматирование для отдельных визуализаций.
| Семантический тип | Примечание |
|---|---|
| Процент | Отображается как процент: например, 0,75 будет показано как 75% |
| Валюта | На графиках и в подробном просмотре значения показываются с символом валюты, например $134.65. По умолчанию в таблице символ валюты отображается только в заголовке столбца, но вы можете изменить настройки форматирования метаданных, чтобы показывать символ в каждой строке. |
| Долгота/широта | Отображается как координаты, например 0.00000000° N |
Отображается как ссылка mailto |
|
| URL | Можно отформатировать как кликабельную ссылку |
| URL изображения | Можно отображать как изображение. См. настройки формата таблицы |
| URL аватара | Можно отображать как изображение‑аватар. См. настройки формата таблицы |
| Поле с JSON | В подробном просмотре отображается как отформатированный JSON |
| Ключ сущности и внешний ключ | Подсвечиваются в представлении таблицы |
Визуализации¶
Когда вы создаёте запрос в конструкторе запросов, Glarus BI автоматически выбирает наиболее подходящую визуализацию на основе типов данных и семантических типов поля на шаге группировки ("Суммировать"). Тип визуализации можно изменить позже.
| Тип данных для "Суммировать" | Автоматическая визуализация |
|---|---|
| Текст/категория | Гистограмма |
| Временной | Линейный график |
| Числовой — с группировкой | Гистограмма |
| Числовой — без группировки | Таблица |
| Логический | Гистограмма |
| Без групппировки | Таблица |
Кроме того, если вы используете семантические типы местоположения:
| Семантический тип для "Суммировать" | Возможность |
|---|---|
| Долгота/Широта — с группировкой | Карта с сеткой |
| Долгота/широта — без группировки | Карта с метками |
| Страна | Карта регионов мира |
| Регион | Карта регионов |
Извлечение значений из столбцов¶
Для некоторых полей можно быстро извлекать значения из столбцов с помощью ярлыков в таблице или в редакторе выражений в конструкторе запросов:
| Тип данных для группировки | Извлечение |
|---|---|
| Семантический тип URL | Хост, домен, поддомен, путь |
| Семантический тип Email | Хост, домен |
| Временны́е типы данных | Части даты: месяц, день и т. д. |
«Умный анализ»¶
Когда вы запускаете «умный анализ» для таблицы, модели или сущности, Glarus BI учитывает и тип данных, и тип поля, чтобы показать разные диаграммы‑сводки по этим данным.
Фильтры полей¶
Понимание того, что такое типы полей и как они работают, поможет при использовании фильтров полей (документация Metabase, англ.): фильтры полей можно создавать только для определённых типов полей.
Разворачивание JSON¶
См. работа с JSON.
Семантические типы в моделях для исследования результатов в конструкторе запросов¶
Вы можете задавать типы полей для моделей — это помогает Glarus BI понимать, как работать с данными в SQL‑моделях. Если вы укажете тип каждого столбца в SQL‑модели, пользователи смогут исследовать модель через конструктор запросов и меню детализации.
Для записей с целочисленными ключами сущностей вы также можете настроить текстовые поля в моделях так, чтобы они выводили отдельные записи в поиске.