Коннектор независимых разработчиков: справка по API

Необходимые функции

getConfig()

Возвращает параметры коннектора, которые настраиваются пользователем.

Запрос

@param {Object} request – объект JavaScript, содержащий параметры запроса конфигурации.

Объект имеет следующую структуру:

{
      languageCode: string
    }
    
Имя поля Тип Описание
languageCode string Код, обозначающий язык пользователя. Можно применять для получения локализованной версии параметров конфигурации пользователя. См. полный список поддерживаемых языков и кодов.
configParams object Присутствует, если при предыдущем вызове функции getConfig() ответ включал .setIsSteppedConfig(true). Это объект, который содержит заданные пользователем значения конфигурации.
Пример запроса

Пример запроса getConfig относительно пользователя, в настройках которого выбран итальянский язык:

{
      languageCode: "it"
    }
    

Ответ

Служба Студии данных

@return {object} – объект JavaScript, представляющий конфигурацию запроса.

Пример
function getConfig(request) {
      var cc = DataStudioApp.createCommunityConnector();
      var config = cc.getConfig();

      config
          .newTextInput()
          .setId('exampleTextInput')
          .setName('Single line text')
          .setHelpText('Helper text for single line text')
          .setPlaceholder('Lorem Ipsum');

      config
          .newTextArea()
          .setId('exampleTextArea')
          .setName('Text area')
          .setHelpText('Helper text for text area')
          .setPlaceholder('Lorem Ipsum');

      config
          .newSelectSingle()
          .setId('exampleSelectSingle')
          .setName('Select single')
          .setHelpText('Helper text for select single')
          .setAllowOverride(true)
          .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
          .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
          .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

      config
          .newSelectMultiple()
          .setId('exampleSelectMultiple')
          .setName('Select multiple')
          .setHelpText('Helper text for select multiple')
          .addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
          .addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
          .addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));

      config
          .newCheckbox()
          .setId('exampleCheckbox')
          .setName('This is a checkbox')
          .setHelpText('Helper text for checkbox');

      config
          .newInfo()
          .setId('exampleInfo')
          .setText('Examle instructions text used in Info')

      config.setDateRangeRequired(true);
      config.setIsSteppedConfig(false);

      return config.build();
    }
    

Устаревшие версии

@return {object} – объект JavaScript, представляющий конфигурацию коннектора, которая должна быть показана пользователю.

Ответ содержит конфигурацию коннектора со следующей структурой:

  {
        configParams: [
          {
            type: string(ConfigType),
            name: string,
            displayName: string,
            helpText: string,
            placeholder: string,
            isDynamic: boolean,
            parameterControl: {
              allowOverride: boolean
            },
            options: [
              {
                label: string,
                value: string
              }
            ]
          }
        ],
        dateRangeRequired: boolean,
        isSteppedConfig: boolean
      }
    

Имя поля Тип Описание
configParams[] object Предоставленные пользователем значения, необходимые для работы коннектора. Каждый элемент представляет поле ввода данных пользователя.
configParams[].type string (ConfigType) Тип поля ввода данных.
configParams[].name string Идентификатор поля ввода данных.
Это должна быть непустая строка без пробелов.
configParams[].displayName string Текстовый ярлык поля ввода данных.
configParams[].helpText string Текст для пользователя с дополнительной информацией об ожидаемом значении поля.
configParams[].placeholder string Используется, только если свойство type имеет значение TEXTINPUT или TEXTAREA.
Текст-заполнитель с кратким описанием ожидаемого значения поля.
configParams[].isDynamic boolean Определяет, используется ли это поле для динамического заполнения следующих полей конфигурации. Значение по умолчанию – false.
configParams[].parameterControl.allowOverride boolean Показывает, можно ли переопределить параметр. Если значение равно true, то автор источника данных разрешает переопределять этот параметр пользователям с правом редактирования отчетов.
Значение allowOverride по умолчанию – false. Если вы хотите разрешить переопределение того или иного параметра, не используйте свойство allowOverride.
configParams[].options[] list Используется, только если свойство type имеет значение SELECT.
Поле предоставляет список всех вариантов.
options[].label string Метка для варианта.
options[].value string Значение варианта.
Это должна быть непустая строка без пробелов и запятых.
dateRangeRequired boolean Если значение равно true, в ответ на запрос getData() будет предоставлен диапазон дат. По умолчанию в качестве диапазона дат берутся последние 28 дней, не включая текущую дату today. Диапазон дат нужно обязательно настраивать, если он используется в запросах к API данных. Также его рекомендуется настраивать, если эффективность запросов к API данных можно повысить, ограничив диапазон дат. Значение по умолчанию – false.
isSteppedConfig boolean Если значение равно true, Студия данных предлагает пользователю ответить на текущий набор вопросов о конфигурации, а затем возвращает вопросы с ответами в последующих вызовах функции getConfig(). Если значение равно false (по умолчанию), пользователь сможет нажать "Связать" и перейти на страницу "Схема".

Пример ответа

Ниже приведен пример настройки однострочного текстового поля, текстовой области, полей одиночного и множественного выбора, флажка и информационного окна. Значения полей одиночного выбора можно переопределять в отчетах.

  {
        configParams: [
          {
            type: "TEXTINPUT",
            name: "exampleTextInput",
            displayName: "Single line text",
            helpText: "Helper text for single line text",
            placeholder: "Lorem Ipsum"
          },
          {
            type: "TEXTAREA",
            name: "exampleTextArea",
            displayName: "Text area",
            helpText: "Helper text for text area",
            placeholder: "Lorem Ipsum"
          },
          {
            type: "SELECT_SINGLE",
            name: "exampleSELECT_SINGLE",
            displayName: "Select single",
            helpText: "Helper text for select-single",
            parameterControl: {
              allowOverride: true
            },
            options: [
              {
                label: "Lorem foo",
                value: "lorem"
              },
              {
                label: "Ipsum bar",
                value: "ipsum"
              },
              {
                label: "Sit",
                value: "amet"
              }
            ]
          },
          {
            type: "SELECT_MULTIPLE",
            name: "exampleSELECT_MULTIPLE",
            displayName: "Select multiple",
            helpText: "Helper text for select-multiple",
            options: [
              {
                label: "Lipsum",
                value: "lipsum"
              },
              {
                label: "Foo Bar",
                value: "foobar"
              },
              {
                label: "Dolor Sit",
                value: "amet"
              }
            ]
          },
          {
            type: "CHECKBOX",
            name: "exampleCheckbox",
            displayName: "This is a checkbox",
            helpText: "Helper text for checkbox",
          },
          {
            type: "INFO",
            name: "exampleInfo",
            text: "Example instructions text used in Info"
          }
        ],
        dateRangeRequired: false
      }
    

getSchema()

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

Запрос

@param {Object} request – объект JavaScript, содержащий параметры запроса схемы.

Объект имеет следующую структуру:

{
      "configParams": object
    }
    
Имя поля Тип Описание
configParams Object Объект JavaScript, который содержит заданные пользователем значения параметров конфигурации, определенных коннектором.
Пример запроса

Пример объекта запроса getSchema:

{
      "configParams": {
        "exampleSelectMultiple": "foobar,amet",
        "exampleSelectSingle": "ipsum",
        "exampleTextInput": "Lorem Ipsum Dolor Sit Amet",
        "exampleTextArea": "NA",
        "exampleCheckbox": "true"
      }
    }
    

Ответ

Служба Студии данных

@return {object} – объект JavaScript, представляющий схему запроса.

Пример
function getSchema(request) {
      var cc = DataStudioApp.createCommunityConnector();
      var fields = cc.getFields();
      var types = cc.FieldType;

      var created = fields.newDimension()
          .setId('Created')
          .setName('Date Created')
          .setDescription('The date that this was created')
          .setType(types.YEAR_MONTH_DAY)
          .setGroup('Date');

      var amount = fields.newMetric()
          .setId('Amount')
          .setName('Amount (USD)')
          .setDescription('The cost in US dollars')
          .setType(types.CURRENCY_USD)
          .setIsHidden(true);

      var amountper = fields.newMetric()
          .setId('AmountPer')
          .setName('Amount Per Dimension')
          .setDescription('The summed cost')
          .setType(types.CURRENCY_USD)
          .setGroup('Money')
          .setFormula('sum($Amount)');

      var probability = fields.newMetric()
          .setId('Probability')
          .setName('Probability (Close rate)')
          .setDescription('The probability that a store closes')
          .setType(types.PERCENT);

      var opportunityname = fields.newDimension()
          .setId('OpportunityName')
          .setName('Opportunity Name')
          .setDescription('The name of the opportunity')
          .setType(types.TEXT);

      var isverified = fields.newDimension()
          .setId('IsVerified')
          .setName('Verified Status')
          .setDescription('Whether or not the store is verified')
          .setType(types.BOOLEAN);

      var company = fields.newDimension()
          .setId('Company')
          .setName('Incorporated Company Name')
          .setDescription('The name of the company the store belongs to')
          .setType(types.TEXT);

      fields.setDefaultMetric(amountper.getId());
      fields.setDefaultDimension(created.getId());

      return { 'schema': fields.build() };
    }
    

Устаревшие версии

@return {object} – объект JavaScript, представляющий схему запроса.

Функция возвращает схему со следующей структурой:

  {
        "schema": [
          {
            object(Field)
          }
        ]
      }
    

Имя поля Тип Описание
schema[] object(Field) Схема для данного запроса, которая содержит подробные сведения о каждом поле.

Пример ответа

  {
        "schema": [
          {
            "name": "Created",
            "label": "Date Created",
            "description": "The date that this was created",
            "dataType": "STRING",
            "group": "Date",
            "isDefault": true,
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticGroup": "DATE_AND_TIME",
              "semanticType": "YEAR_MONTH_DAY",
              "isReaggregatable": false
            }
          },
          {
            "name": "Amount",
            "label": "Amount (USD)",
            "description": "The cost in US dollars",
            "dataType": "NUMBER",
            "isHidden": true,
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "CURRENCY",
              "semanticType": "CURRENCY_USD",
            }
          },
          {
            "name": "AmountPer",
            "label": "Amount Per Dimension",
            "description": "The summed cost",
            "dataType": "NUMBER",
            "group": "Money",
            "formula": "sum(Amount)",
            "isDefault": true,
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "CURRENCY",
              "semanticType": "CURRENCY_USD",
              "isReaggregatable": true
            }
          },
          {
            "name": "Probability",
            "label": "Probability (Close rate)",
            "description": "The probability that a store closes",
            "dataType": "NUMBER",
            "semantics": {
              "conceptType": "METRIC",
              "semanticGroup": "NUMERIC",
              "semanticType": "PERCENT",
              "isReaggregatable": false
            }
          },
          {
            "name": "OpportunityName",
            "label": "Opportunity Name",
            "description": "The name of the opportunity",
            "dataType": "STRING",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "TEXT",
              "isReaggregatable": false
            }
          },
          {
            "name": "IsVerified",
            "label": "Verified Status",
            "description": "Whether or not the store is verified",
            "dataType": "BOOLEAN",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "BOOLEAN",
              "isReaggregatable": false
            }
          },
          {
            "name": "Company",
            "label": "Incorporated Company Name",
            "description": "The name of the company the store belongs to",
            "dataType": "STRING",
            "semantics": {
              "conceptType": "DIMENSION",
              "semanticType": "TEXT",
              "isReaggregatable": false
            }
          }
        ]
      }
    

getData()

Возвращает табличные данные для запроса.

Запрос

@param {Object} request – объект JavaScript, содержащий параметры запроса данных.

Параметр request содержит предоставленные пользователем значения и дополнительную информацию, которую можно применять для выполнения запроса данных. Имеет следующую структуру:

{
      "configParams": object,
      "scriptParams": {
        "sampleExtraction": boolean,
        "lastRefresh": string
      },
      "dateRange": {
        "startDate": string,
        "endDate": string
      },
      "fields": [
        {
          "name": string
        }
      ],
      "dimensionsFilters": [
        [{
          "fieldName": string,
          "values": string[],
          "type": DimensionsFilterType,
          "operator": Operator
        }]
      ]
    }
    
Имя Тип Описание
configParams object Объект, который содержит заданные пользователем значения параметров конфигурации, определенных коннектором.
scriptParams ScriptParams Объект, который содержит сведения о выполнении коннектора.
dateRange DateRange По умолчанию в качестве диапазона дат берутся последние 28 дней, за исключением текущей даты. Если пользователь применяет в отчете фильтр по диапазону дат, то этот параметр отражает выбор пользователя.
Если функции sampleExtraction присвоить значение true**, в качестве даты начала и даты окончания будет указан позавчерашний день.
fields[].name string Названия запрашиваемых полей.
fields[].forFilterOnly boolean Помечает поле, которое используется только для фильтрации запроса. Не возвращается, если к коннектору применены фильтры.
dimensionsFilters DimensionsFilters Вложенный массив выбранных пользователем фильтров. Внутренние массивы должны быть объединены оператором OR, а внешние – оператором AND.

dateRange

Имя Тип Описание
startDate string Начальная дата фильтрации данных. Указывается, только если для dateRangeRequired установлено значение true. Формат значения: YYYY-MM-DD.
endDate string Конечная дата фильтрации данных. Указывается, только если для dateRangeRequired установлено значение true. Формат значения: YYYY-MM-DD.

scriptParams

Имя Тип Описание
sampleExtraction boolean Если значение равно true, запрос getData() будет выполняться для автоматического определения семантического типа.
lastRefresh string Временная метка последнего запроса на обновление данных.

dimensionsFilters

Имя Тип Описание
fieldName string Имя поля, которое нужно отфильтровать.
values string[] Массив значений, используемых оператором.
type "INCLUDE" | "EXCLUDE" Определяет действие, которое нужно выполнить с соответствующими фильтру данными: включить в ответ getData() или исключить из него.
operator FilterOperator Применяемый оператор.
Пример запроса
{
      "configParams": {
        "multiSelectExample": "foo,bar",
        "singleSelectExample": "Lipsum",
        "singleTextExample": "Lorem Ipsum",
        "multiTextExample": "Dolor Sit Amet",
        "includeCheckExample": "true"
      },
      "dateRange": {
        "endDate": "2017-07-16",
        "startDate": "2017-06-19"
      },
      "fields": [
        {"name": "count"},
        {"name": "family"}
      ]
    }

    

Ответ

По умолчанию

@return {object} – объект JavaScript, который содержит схему и данные запроса.

Функция возвращает табличные данные в соответствии с запросом, а также их схему. Ответ должен иметь следующую структуру:

  {
        "schema": [
          {
            object(Field)
          }
        ],
        "rows": [
          {
            "values": [
              string
            ]
          }
        ]
      }
    
Имя Тип Описание
schema Field[] Схема запрашиваемых полей. Должны быть указаны field.name и field.dataType. Порядок объекта field должен соответствовать порядку значений в каждой строке.
rows[].values[] string | number | boolean Значения запрашиваемых полей.
Порядок значений должен соответствовать порядку Fields, определенному в schema.
filtersApplied boolean Принимает значение true, если все фильтры успешно применены, и значение false – в противном случае.

Поле

Имя Тип Описание
name string Имя поля.
dataType DataType Тип поля.
Пример
{
      "schema": [
        {
          "name": "OpportunityName",
          "dataType": "STRING"
        },
        {
          "name": "IsVerified",
          "dataType": "BOOLEAN"
        },
        {
          "name": "Created",
          "dataType": "STRING"
        },
        {
          "name": "Amount",
          "dataType": "NUMBER"
        }
      ],
      "rows": [
        {
          "values": ["Interesting", true, "2017-05-23", "120453.65"]
        },
        {
          "values": ["SF", false, "2017-03-03", "362705286.92"]
        },
        {
          "values": ["Spring Sale", true, "2017-04-21", "870.12"]
        }
      ],
      "filtersApplied": false
    }
    

BigQuery

@return {object} – объект JavaScript, представляющий конфигурацию запроса BigQuery.

Пример
var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
    var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
        .setBillingProjectId('billingProjectId')
        .setQuery('myQueryString')
        .setUseStandardSql(true)
        .setAccessToken('myAccessToken')
        .addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
        .build();
    

getAuthType()

Возвращает метод аутентификации коннектора.

Запрос

Эта функция не принимает никаких аргументов.

Ответ

Служба Студии данных

@return {object} – объект, который содержит поле AuthType (тип аутентификации, используемый коннектором). Если значение AuthType равно USER_TOKEN, USER_PASS или KEY, также может быть задано необязательное поле helpUrl.

Пример
function getAuthType() {
      var cc = DataStudioApp.createCommunityConnector();
      return cc.newAuthTypeResponse()
        .setAuthType(cc.AuthType.USER_PASS)
        .setHelpUrl('https://www.example.org/connector-auth-help')
        .build();
    }
    

Устаревшие версии

@return {object} – объект, который содержит поле AuthType (тип аутентификации, используемый коннектором). Если значение AuthType равно USER_TOKEN, USER_PASS или KEY, также может быть задано необязательное поле helpUrl.

Ответ имеет следующую структуру:

 {
       "type": string(AuthType),
       "helpUrl": string
     }
    

Имя поля Тип Описание
type string(AuthType) Значение типа аутентификации.
helpUrl string URL, который может быть показан пользователю, если свойство type принимает значение USER_TOKEN, USER_PASS или KEY. Этот URL должен ссылаться на страницу с описанием процедуры аутентификации коннектора.

Пример ответа
{
      "type": "USER_TOKEN",
      "helpUrl": "https://www.example.org/connector-auth-help"
    }
    

Необходимые функции Auth

isAuthValid()

Проверяет действительность учетных данных сторонней службы.

Запрос

Эта функция не принимает аргументы.

Ответ

@return {boolean} возвращает значение true, если учетные данные действительны, и ответ false – если недействительны. В случае ответа true вызов функций getData и getSchema разрешается. При ответе false пользователь получает уведомление об истечении срока действия авторизации и необходимости пройти ее повторно.

resetAuth()

Удаляет учетные данные пользователя для сторонней службы.

Запрос

Эта функция не принимает аргументы.

Ответ

Пустой ответ.

Необходимые функции OAuth2

get3PAuthorizationUrls()

Возвращает URL авторизации для запуска процесса OAuth 2.0 сторонней службой.

Запрос

Эта функция не принимает аргументы.

Ответ

@return {string} возвращает URL авторизации для сторонней службы. URL авторизации показывается пользователю для запуска процесса OAuth 2.0, предоставляющего доступ сторонней службе.

authCallback()

Обрабатывает ответ авторизации, полученный от сторонней службы в рамках процесса OAuth 2.0.

Запрос

@param {string} request – объект, закодированный по алгоритму JSON, который представляет данные запроса после выполнения процесса OAuth 2.0.

Ожидается, что параметр request содержит данные со следующей структурой (ниже представлено два примера для успешного и необработанного запросов):

// Success
    {
      "parameter":
        {
          "code": string
        }
    }

    // Error
    {
      "parameter":
        {
          "error": string
        }
    }
    
Имя поля Тип Описание
parameter object Значения code или error, полученные от успешного или неудавшегося процесса OAuth 2.0. Их можно использовать для обработки дальнейших обратных вызовов.
code string Это поле доступно при успешном завершении процесса OAuth 2.0 и содержит значение параметра code из запроса обратного вызова OAuth 2.0, полученного от сторонней службы. Это код авторизации, который можно использовать для дальнейшей обработки процесса OAuth 2.0.
error object Поле появляется в случае неудавшейся попытки авторизации OAuth 2.0 и содержит значение параметра error из запроса обратного вызова OAuth 2.0, полученного от сторонней службы (сообщение об ошибке, которое можно использовать для дальнейшей рассылки уведомлений и обработки OAuth 2.0).

Ответ

@return {object} возвращает объект HTML, который будет обработан и показан пользователю. Дополнительную информацию можно найти в документации по библиотеке OAuth, а также в документации по службе HTML Apps Script.

Необходимые функции userPass и Key

setCredentials()

Сохраняет учетные данные, переданные из Студии данных.

Запрос

@param {Object} request – объект JavaScript, содержащий параметры запроса данных.

Параметр request содержит введенные пользователем учетные данные. Содержание параметра может быть представлено в одной из следующих форм: userPass, userToken или key (выбирается в зависимости от ответа, полученного функцией getAuthType()).

{
      "userPass": {
        "username": string,
        "password": string
      },
      "userToken": {
        "username": string,
        "token": string,
      },
      "key": string
    }
    
Поле Тип
userPass.username Имя пользователя.
userPass.password Пароль пользователя.
userToken.username Имя пользователя.
userToken.token Токен пользователя.
key Ключ API или токен, введенный пользователем.

Ответ

@return {object} – объект JavaScript с кодом ошибки, которая указывает, удалось ли ввести верные учетные данные.

{
      "errorCode": string("NONE" | "INVALID_CREDENTIALS")
    }
    
Поле Тип Описание
errorCode enum(string) Код ошибки для вызова setCredentials.
Код ошибки Описание
"NONE" Учетные данные были введены без ошибок.
"INVALID_CREDENTIALS" Введенные учетные данные недействительны.
Пример ответа
{
      "errorCode": "NONE"
    }
    

Необязательные функции

isAdminUser()

Проверяет, является ли пользователь администратором коннектора. Эта функция используется для включения и выключения функций отладки. Подробнее…

Запрос

Эта функция не принимает никаких аргументов.

Ответ

Функция @return {boolean} возвращает ответ true, если пользователь является администратором коннектора. Если функция не используется или возвращает значение false, пользователь не считается администратором. Подробнее…

Типы данных

Field

Служба Студии данных

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

Как создать объект Field

var cc = DataStudioApp.createCommunityConnector();
    var types = cc.FieldType;
    var aggregations = cc.AggregationType;

    var myField = cc.newDimension() // Or newMetric
      .setId('my_unique_identifier')
      .setName('My friendly name')
      .setDescription('My short description')
      .setType(types.YEAR_MONTH_DAY)
      // formula fields cannot be hidden.
      .setIsHidden(true)
      .setGroup('My group name');
    

Устаревшие версии

Описывает поля записи или строки в схеме.

Все поля имеют следующую структуру:

{
      "name": string,
      "label": string,
      "description": string,
      "dataType": string(DataType),
      "group": string,
      "formula": string,
      "isDefault": boolean,
      "defaultAggregationType": string(DefaultAggregationType),
      "semantics": {
        "conceptType": string(ConceptType),
        "semanticType": string(SemanticType),
        "semanticGroup": string(SemanticGroup),
        "isReaggregatable": boolean
      }
    }
    
Имя поля Тип Описание
name string Имя поля.
Применяется как уникальный идентификатор. Можно использовать только буквы, цифры и символ подчеркивания.
label string Отображаемое имя поля. Используется как понятное имя для пользовательского интерфейса.
description string Необязательное описание поля. Можно использовать только обычный текст.
dataType string(DataType) Тип данных поля.
isHidden boolean Необязательное свойство. Если присвоить ему значение true, поле будет скрыто (оно станет недоступно в списке полей и диаграммах, однако вы сможете использовать его в формулах при вычислении других полей). Поля формул скрыть нельзя.
group string Необязательное свойство, показывающее, что поле относится к группе. Если поля fieldA и fieldB относятся к группе groupC, они объединяются в окне выбора параметра или в меню выбора в пользовательском интерфейсе. Если группа определена хотя бы для одного поля, то полям без группы будет присвоена группа Default Group.
formula string

Необязательное свойство, которое определяет способ вычисления поля. Если формула недействительна, поле удаляется. Если одновременно заданы свойства агрегирования (isReaggregatable, defaultAggregationType) и поле formula, то свойства агрегирования будут игнорироваться.

С полем semanticType совместимы только некоторые семантические типы formula. Рекомендуется использовать только текстовые и числовые типы данных (кроме типов date и geo). Если текстовый вывод формулы типа "Дата" или "География" соответствует семантическому типу, то этот семантический тип можно использовать. В противном случае следует выбрать string.

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

isDefault boolean Необязательное поле, которое показывает, что нужно выбрать в качестве параметра по умолчанию – dimension или metric. Для схемы нужно задать только по одному значению dimension и metric по умолчанию.
defaultAggregationType string(DefaultAggregationType) Необязательное поле, которое показывает, какой тип агрегирования должен использоваться по умолчанию в Студии данных. Пользователи могут менять это значение.
semantics object Свойства для предоставления семантической информации о поле. Если это свойство, а также semantics.semanticType указаны для какого-либо поля в схеме, автоматическое определение семантического типа не используется. Если это свойство не указано ни в одном поле, будет использоваться автоматическое определение семантического типа.
semantics.conceptType string(ConceptType) Показывает, является ли значение поля параметром или показателем.
semantics.semanticType string(SemanticType) Семантический тип поля. Если он задан, автоматическое определение семантического типа будет отключено.
semantics.semanticGroup string(SemanticGroup) Семантическая группа поля. Необязательное свойство, позволяющее группировать семантические типы. В настоящее время это поле в Студии данных не используется.
semantics.isReaggregatable boolean Значение true показывает, что к этому полю можно применить агрегацию. В Студии данных для параметра Aggregation по умолчанию задано значение SUM, но пользователь может его изменить.
Значение false показывает, что к этому полю нельзя применять агрегацию. В Студии данных для параметра Aggregation по умолчанию задано значение Auto, и пользователь не может его изменить.
Значение по умолчанию: true.
Примечание. Это свойство влияет только на поля показателей.

ConceptType

Семантические типы могут иметь следующие значения:

Перечисляемое значение Описание
DIMENSION Параметры – это категория данных, которые имеют такие значения, как названия, описания или другие характеристики категории.
METRIC Показатели – это категория данных, которые измеряют параметры и представляют измерения, такие как сумма, количество, коэффициент и т. п.

DataType

Типы данных в схемах могут иметь следующие значения:

Перечисляемое значение Описание
STRING Произвольная строка, определяемая спецификацией схемы JSON.
NUMBER Тип числовых данных в формате 64-разрядного числа двойной точности с плавающей запятой (IEEE 754).
BOOLEAN Логическое значение true или false, определяемое спецификацией схемы JSON.

SemanticType

Перечисляемое значение Описание Пример
YEAR YYYY "2017"
YEAR_QUARTER YYYYQ "20171"
YEAR_MONTH YYYYMM "201703"
YEAR_WEEK YYYYww "201707"
YEAR_MONTH_DAY YYYYMMDD "20170317"
YEAR_MONTH_DAY_HOUR YYYYMMDDHH "2017031403"
YEAR_MONTH_DAY_SECOND YYYYMMDDHHMMSS "20170314031545"
QUARTER (1, 2, 3, 4) "1"
MONTH MM "03"
WEEK ww "07"
MONTH_DAY MMDD "0317"
DAY_OF_WEEK Десятичное число от 0 до 6, где 0 обозначает воскресенье "0"
DAY DD "17"
HOUR HH "02"
MINUTE mm "12"
DURATION Временной интервал (в секундах) 6340918234
COUNTRY Страна "United States"
COUNTRY_CODE Код страны "US"
CONTINENT Континент "Americas"
CONTINENT_CODE Код континента "019"
SUB_CONTINENT Субконтинент "North America"
SUB_CONTINENT_CODE Код субконтинента "003"
REGION Регион "California"
REGION_CODE Код региона "CA"
CITY Город "Mountain View"
CITY_CODE Код города "1014044"
METRO_CODE Код агломерации "200807"
LATITUDE_LONGITUDE Широта и долгота "51.5074, -0.1278"
NUMBER Десятичное число 14
PERCENT Процент в виде десятичного числа (может превышать 1,0) 1.0
TEXT Текст в свободной форме "Here is some text"
BOOLEAN true или false true
URL URL в форме текста "https://www.google.com"

Семантические типы "Формула"

Перечисляемое значение Описание Формула
HYPERLINK Ссылка с текстовым ярлыком "HYPERLINK($url, $description)"
IMAGE URL изображения "IMAGE($image_url, $alt_text)"
IMAGELINK Ссылка с графическим ярлыком "HYPERLINK($url, $image_field)"

Семантические типы "Валюта"

Денежные значения являются числами JavaScript. Отрицательные значения разрешены.

Перечисляемое значение Описание
CURRENCY_AED Дирхам ОАЭ (dh)
CURRENCY_ALL Албанский лек (Lek)
CURRENCY_ARS Аргентинский песо ($)
CURRENCY_AUD Австралийский доллар ($)
CURRENCY_BDT Бангладешская така (৳)
CURRENCY_BGN Болгарский лев (lev)
CURRENCY_BOB Боливийский боливиано (Bs)
CURRENCY_BRL Бразильский реал (R$)
CURRENCY_CAD Канадский доллар ($)
CURRENCY_CDF Конголезский франк (FrCD)
CURRENCY_CHF Швейцарский франк (CHF)
CURRENCY_CLP Чилийское песо ($)
CURRENCY_CNY Китайский юань (¥)
CURRENCY_COP Колумбийское песо ($)
CURRENCY_CRC Костариканский колон (₡)
CURRENCY_CZK Чешская крона (Kč)
CURRENCY_DKK Датская крона (kr.)
CURRENCY_DOP Доминиканское песо (RD$)
CURRENCY_EGP Египетский фунт (£)
CURRENCY_ETB Эфиопский быр (Birr)
CURRENCY_EUR Евро (€)
CURRENCY_GBP Британский фунт стерлингов (£)
CURRENCY_HKD Гонконгский доллар ($)
CURRENCY_HRK Хорватская куна (kn)
CURRENCY_HUF Венгерский форинт (Ft)
CURRENCY_IDR Индонезийская рупия (Rp)
CURRENCY_ILS Израильский новый шекель (₪)
CURRENCY_INR Индийская рупия (₹)
CURRENCY_IRR Иранский риал (Rial)
CURRENCY_ISK Исландская крона (kr)
CURRENCY_JMD Ямайский доллар ($)
CURRENCY_JPY Японская иена (¥)
CURRENCY_KRW Южнокорейская вона (₩)
CURRENCY_LKR Шри-ланкийская рупия (Rs)
CURRENCY_LTL Литовский лит (Lt)
CURRENCY_MNT Монгольский тугрик (₮)
CURRENCY_MVR Мальдивская руфия (Rf)
CURRENCY_MXN Мексиканское песо ($)
CURRENCY_MYR Малайзийский ринггит (RM)
CURRENCY_NOK Норвежская крона (kr)
CURRENCY_NZD Новозеландский доллар ($)
CURRENCY_PAB Панамское бальбоа (B/.)
CURRENCY_PEN Перуанский новый соль (S/.)
CURRENCY_PHP Филиппинское песо (₱)
CURRENCY_PKR Пакистанская рупия (Rs)
CURRENCY_PLN Польский злотый (zł)
CURRENCY_RON Румынский лей (RON)
CURRENCY_RSD Сербский динар (din)
CURRENCY_RUB Российский рубль (₽)
CURRENCY_SAR Саудовский риал (Rial)
CURRENCY_SEK Шведская крона (kr)
CURRENCY_SGD Сингапурский доллар ($)
CURRENCY_THB Тайский бат (฿)
CURRENCY_TRY Турецкая лира (₺)
CURRENCY_TWD Новый тайваньский доллар (NT$)
CURRENCY_TZS Танзанийский шиллинг (TSh)
CURRENCY_UAH Украинская гривна (грн.)
CURRENCY_USD Доллар США ($)
CURRENCY_UYU Доллар США ($)
CURRENCY_VEF Уругвайское песо ($)
CURRENCY_VND Венесуэльский боливар (Bs)
CURRENCY_YER Вьетнамский донг (₫)
CURRENCY_ZAR Йеменский риал (Rial)

SemanticGroup

Это только список рекомендуемых значений. Вы можете выбирать значения не из этого списка. Тем не менее настройка этого поля не будет переопределять группу, которую использует Студия данных для параметра Type в редакторе полей.

Рекомендуемое значение Описание
NUMERIC Группа "Число"
DATETIME Группа "Дата и время"
GEO Группа "География"
CURRENCY Группа "Валюта"

DefaultAggregationType

Перечисляемое значение Описание
AVG Среднее арифметическое значение элементов.
COUNT Число элементов.
COUNT_DISTINCT Число разных элементов.
MAX Максимальное число элементов.
MIN Минимальное число элементов.
SUM Сумма элементов.
NONE Агрегация не выполняется.
AUTO Устанавливается для вычисляемых полей с агрегацией.

AuthType

Вы можете выбрать один из следующих методов аутентификации:

Перечисляемое значение Описание
NONE Показывает, что для коннектора не требуется аутентификация.
OAUTH2 Показывает, что коннектор использует для аутентификации протокол OAuth 2.0.
KEY Показывает, что коннектор использует для аутентификации ключ API.
USER_PASS Показывает, что коннектор использует для аутентификации имя пользователя и пароль.
USER_TOKEN Показывает, что коннектор использует для аутентификации имя пользователя и токен.

ConfigType

Типы форм конфигурации могут иметь следующие значения:

Перечисляемое значение Описание
TEXTINPUT Поле ввода – однострочное текстовое поле.
TEXTAREA Поле ввода – многострочное текстовое поле textarea.
SELECT_SINGLE Поле ввода – раскрывающийся список с возможностью выбора одного варианта.
SELECT_MULTIPLE Поле ввода – раскрывающийся список с возможностью множественного выбора.
CHECKBOX Поле ввода – один флажок, который можно использовать для получения логических значений.
INFO Поле для ввода простого текста, например дополнительных инструкций или информации к сведению пользователя. Все ссылки в поле будут активными.

Оператор фильтра

Оператор
EQUALS
CONTAINS
REGEXP_PARTIAL_MATCH
REGEXP_EXACT_MATCH
IN_LIST
IS_NULL
BETWEEN
NUMERIC_GREATER_THAN
NUMERIC_GREATER_THAN_OR_EQUAL
NUMERIC_LESS_THAN
NUMERIC_LESS_THAN_OR_EQUAL

EQUALS

Значение для сравнения точно соответствует значению параметра.

Пример условия:

{
        "operator": "EQUALS",
        "type": "INCLUDE",
        "values": ["USA"],
        "fieldName": "Country"
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul

Данные после применения фильтра:

Страна Город
USA Seattle

CONTAINS

Значение для сравнения содержится в значении параметра.

Пример условия:

{
        "operator": "CONTAINS",
        "type": "INCLUDE",
        "values": ["A"],
        "fieldName": "COUNTRY"
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul

Данные после применения фильтра:

Страна Город
USA Seattle
CA Montreal

REGEXP_PARTIAL_MATCH

Значение параметра содержит регулярное выражение.

Пример условия:

{
        "operator": "REGEXP_PARTIAL_MATCH",
        "type": "INCLUDE",
        "values": ["(?i)R[A-Z]*"],
        "fieldName": ""
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul
RU Moscow

Данные после применения фильтра:

Страна Город
ROK Seoul
RU Moscow

REGEXP_EXACT_MATCH

Значение параметра соответствует регулярному выражению.

Пример условия:

{
        "operator": "REGEXP_EXACT_MATCH",
        "type": "INCLUDE",
        "values": ["^R[A-Z]*K$"],
        "fieldName": ""
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul
RU Moscow

Данные после применения фильтра:

Страна Город
ROK Seoul

IN_LIST

Одно или несколько значений для сравнения точно соответствуют значению параметра.

Пример условия:

{
        "operator": "IN_LIST",
        "type": "INCLUDE",
        "values": ["USA", "CA"],
        "fieldName": "Country"
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul

Данные после применения фильтра:

Страна Город
USA Seattle
CA Montreal

IS_NULL

Соответствие устанавливается, если параметр имеет пустое значение.

Пример условия:

{
        "operator": "IS_NULL",
        "type": "INCLUDE",
        "values": [],
        "fieldName": "COUNTRY"
    }
    

Данные до применения фильтра:

Страна Город
USA Seattle
CA Montreal
ROK Seoul
RU Moscow
Terabithia

Данные после применения фильтра:

Страна Город
Terabithia

BETWEEN

Соответствие устанавливается, если значение параметра входит в диапазон между двумя проверочными значениями.

Пример условия:

{
        "operator": "BETWEEN",
        "type": "INCLUDE",
        "values": ["20190101", "20190131"],
        "fieldName": "Date"
    }
    

Данные до применения фильтра:

Страна Дата
USA 20190101
USA 20190111
USA 20190201

Данные после применения фильтра:

Страна Дата
USA 20190101
USA 20190111

NUMERIC_GREATER_THAN

Соответствие устанавливается, если значение параметра больше проверочного значения.

Пример условия:

{
        "operator": "NUMERIC_GREATER_THAN",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

Данные до применения фильтра:

Страна Дата
USA 20190101
USA 20190111
USA 20190201

Данные после применения фильтра:

Страна Дата
USA 20190111
USA 20190201

NUMERIC_GREATER_THAN_OR_EQUAL

Соответствие устанавливается, если значение параметра не меньше проверочного значения.

Пример условия:

{
        "operator": "NUMERIC_GREATER_THAN_OR_EQUAL",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

Данные до применения фильтра:

Страна Дата
USA 20180101
USA 20190101
USA 20190111
USA 20190201

Данные после применения фильтра:

Страна Дата
USA 20190101
USA 20190111
USA 20190201

NUMERIC_LESS_THAN

Соответствие устанавливается, если значение параметра меньше проверочного значения.

Пример условия:

{
        "operator": "NUMERIC_LESS_THAN",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

Данные до применения фильтра:

Страна Дата
USA 20180101
USA 20190101
USA 20190111
USA 20190201

Данные после применения фильтра:

Страна Дата
USA 20180101

NUMERIC_LESS_THAN_OR_EQUAL

Соответствие устанавливается, если значение параметра не больше проверочного значения.

Пример условия:

{
        "operator": "NUMERIC_LESS_THAN_OR_EQUAL",
        "type": "INCLUDE",
        "values": ["20190101"],
        "fieldName": "Date"
    }
    

Данные до применения фильтра:

Страна Дата
USA 20180101
USA 20190101
USA 20190111
USA 20190201

Данные после применения фильтра:

Страна Дата
USA 20180101
USA 20190101