Типы данных и семантические типы

При создании коннектора сообщества каждое поле, определенное в схеме , должно иметь тип данных. Тип данных определяет примитивный тип поля, например, BOOLEAN , STRING , NUMBER и т. д.

Помимо типов данных, Looker Studio также использует семантические типы. Семантические типы помогают описать, какую информацию представляют данные. Например, поле с типом данных NUMBER может семантически представлять сумму в валюте или процент, а поле с типом данных STRING может семантически представлять город. Чтобы узнать, какие семантические типы доступны, обратитесь к документации по семантическим типам.

Схема Community Connector и поля Looker Studio

При определении схемы для вашего коннектора сообщества для каждого поля существуют различные свойства, которые определяют, как это поле будет представлено и использовано в Looker Studio. Например:

  • Тип концепции (conceptType) определяется в схеме вашего коннектора с помощью свойства conceptType . Это свойство определяет, рассматривается ли поле как измерение или метрика. Объяснение различий между метриками и измерениями можно найти в разделе «Измерения и метрики».
  • Семантический тип может быть определен либо в схеме коннектора, либо может быть автоматически определен Looker Studio на основе свойства типа данных , определенного в вашем коннекторе, и значений данных, возвращаемых вашим коннектором. Подробнее о том, как это работает, см. в разделе «Автоматическое определение семантического типа» .
  • Тип агрегации определяет, можно ли повторно агрегировать значения метрик (измерения игнорируются). Установка свойства semantics.isReaggregatable в true по умолчанию приведет к агрегации SUM , в противном случае будет установлено значение Auto . Вы также можете вручную установить тип агрегации по умолчанию для повторно агрегируемых полей, используя свойство defaultAggregationType .

При настройке и подключении коннектора в Looker Studio редактор полей отображает полную схему коннектора в соответствии с тем, как вы определили свойства выше. Если вы указали семантические типы, они будут отображаться так, как вы их определили. Если вы используете автоматическое определение семантических типов , поля будут отображаться так, как они были определены. Экран полей

Настройка семантической информации

Существует два способа задать семантическую информацию. Вы можете либо задать семантику поля вручную, либо положиться на автоматическое определение в Looker Studio.

Например, если у вас есть число, семантически представляющее доллары США, Looker Studio не сможет автоматически определить этот семантический тип. Кроме того, для автоматического определения семантического типа Looker Studio необходимо выполнить запросы на получение данных для каждого поля вашей схемы. Если вы укажете схему вручную, запросы на получение данных выполняться не будут. Если же вам известен семантический тип данных (например, валюта, процент, дата и т. д.), мы рекомендуем явно указать его в схеме для повышения точности и производительности.

Ручная настройка семантических типов (рекомендуется)

Если вам известны ваши семантические типы, вы можете вручную определить semantics для каждого поля схемы. Подробную информацию о доступных свойствах можно найти на странице справочника по полям . Если вы решите определять семантические типы вручную, рекомендуется определить semanticType и semanticGroup для каждого поля. При ручном указании этих свойств автоматический процесс определения семантического типа запускаться не будет. Если вы вручную зададите некоторые поля, но не все, то для тех, которые вы не укажете, по умолчанию будут установлены значения Text , Number или Boolean в зависимости от указанного для поля dataType .

Ниже приведён пример простой схемы, в которой семантические типы задаются вручную. Income задаётся в виде валюты, а Filing Year — в виде даты.

data-studio/semantics.gs
const schema = [
  {
    name: "Income",
    label: "Income (in USD)",
    dataType: "NUMBER",
    semantics: {
      conceptType: "METRIC",
      semanticGroup: "CURRENCY",
      semanticType: "CURRENCY_USD",
    },
  },
  {
    name: "Filing Year",
    label: "Year in which you filed the taxes.",
    dataType: "STRING",
    semantics: {
      conceptType: "METRIC",
      semanticGroup: "DATE_OR_TIME",
      semanticType: "YEAR",
    },
  },
];

Устранение неполадок с помощью ручных семантических типов

Если вы неправильно зададите семантические типы для базовых данных, они не будут работать должным образом. Проверить это может быть сложно, но есть несколько способов, которые помогут выявить проблемы.

  1. Верните 2 или 3 строки из ваших данных, а не все, затем проверьте их вручную.
  2. Создайте в Looker Studio таблицу, которая будет использовать только то поле, которое вы пытаетесь проверить.
  3. Обратите особое внимание на поля Geo и Date , поскольку для них установлен наиболее строгий формат.

Автоматическое определение семантического типа

Если в вашей схеме не определены семантические типы, Looker Studio попытается автоматически определить их на основе свойства типа данных и формата значений данных, возвращаемых вашим коннектором.

Этапы процесса автоматического обнаружения следующие:

  1. Запросите схему, выполнив функцию getSchema вашего коннектора сообщества.
  2. Пройдитесь по группам полей, определенных в схеме коннектора, и отправьте запросы getData для этих полей. Запросы getData выполняются с параметром sampleExtraction , установленным в true , что указывает на то, что запросы данных предназначены для целей семантического анализа.
  3. Исходя из типа данных поля и формата значения, возвращаемого запросом getData , определите семантический тип поля.

Варианты обработки автоматического определения семантического типа

Когда Looker Studio выполняет функцию getData коннектора сообщества для семантического определения, входящий запрос будет содержать свойство sampleExtraction , которому будет присвоено значение true . Данные, возвращаемые вашим коннектором, используются Looker Studio только для определения семантического типа поля. Поскольку это значение не будет использоваться ни для каких других целей, оно не требует фактических данных из вашего внешнего источника.

Существует несколько способов улучшить семантическое определение типов в вашем коде:

  • Рекомендуется: передать предопределенные значения.
    Возвращает предопределенное значение для каждого поля, которое наилучшим образом представляет семантический тип поля и заведомо корректно определяется Looker Studio. Например, если семантический тип поля — «Страна» , то возвращает значение, например, IT для Италии. Еще одно преимущество этого подхода — гораздо более высокая скорость, поскольку он не требует отправки HTTP-запросов к стороннему сервису для получения данных.

  • Возвращать только n количество записей
    Если сторонний сервис, из которого вы получаете данные, поддерживает ограничение количества строк при запросе данных, то возвращайте в Looker Studio небольшое подмножество строк вместо полного набора данных. Это ограничит объем данных, которые вам необходимо передать в Looker Studio для каждого запроса на семантическое обнаружение.

  • Запросить все столбцы и кэшировать ответ.
    Если есть возможность запросить все столбцы у стороннего сервиса, из которого вы получаете данные, то при первом запросе на семантическое распознавание, полученном от Looker Studio, запросите все столбцы и кэшируйте результаты. Для последующих запросов на семантическое распознавание запрашивайте значения столбцов из кэша вместо выполнения дополнительных HTTP-запросов к стороннему сервису.

  • Ничего не меняйте.
    Вы можете не применять никаких специальных мер для обработки запросов, если sampleExtraction установлен в true . Это замедлит процесс семантического обнаружения, поскольку Looker Studio придется самостоятельно получать все данные для этого процесса. Кроме того, это повлияет на скорость запросов к вашему внешнему источнику данных, поскольку множество запросов на семантическое обнаружение будут выполняться параллельно.

Распознаваемые форматы для автоматического определения семантического типа

Дата и время
  • YYYY/MM/DD-HH:MM:SS
  • YYYY-MM-DD [HH:MM:SS[.uuuuuu]]
  • YYYY/MM/DD [HH:MM:SS[.uuuuuu]]
  • YYYYMMDD [HH:MM:SS[.uuuuuu]]
  • Sat, 24 May 2008 20:09:47 GMT
  • 2008-05-24T20:09:47Z
  • Время: эпоха для секунд, микро, милли и нано.
Гео