Переопределяемые параметры конфигурации

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

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

В этом документе описывается, как определяются переопределяемые параметры, как они могут быть изменены и как пользователи отчетов могут изменять значения параметров. Более подробную информацию об использовании параметров в Data Studio см. в разделе «Параметры источника данных» .

Роли

В документе упоминаются следующие роли пользователей:

Роль Определение
Разработчик коннекторов Пользователь, создавший коннектор для сообщества .
Владелец источника данных Пользователь, создавший и владеющий источником данных .
Редактор репортажей Пользователь, имеющий доступ к отчету в режиме редактирования .
Сообщить о просмотре Пользователь, имеющий доступ к отчету в режиме просмотра .

Определение параметров, которые можно переопределить

Разработчик коннектора определяет параметры конфигурации в функции getConfig() коннектора сообщества. Чтобы определить параметр конфигурации как переопределяемый, коннектор вызывает setAllowOverride(true) .

В следующем примере определены 2 переопределяемых параметра: zipcode и units , а также 1 параметр, который не может быть переопределен: days-to-forcecast .

Скриншот двух переопределяемых параметров

function getConfig(request) {
  var config = cc.getConfig();

  // A
  config
      .newTextInput()
      .setId("zipcode")
      .setName("ZIP Code")
      .setAllowOverride(true);

  // B
  config
    .newSelectSingle()
    .setId("units")
    .setName("Units")
    .addOption(
        config
          .newOptionBuilder()
          .setLabel("Metric")
          .setValue("metric")
    )
    .addOption(
      config
        .newOptionBuilder()
        .setLabel("Imperial")
        .setValue("imperial")
    )
    .setAllowOverride(true);

  // C
  config
    .newTextInput()
    .setId("days-to-forecast")
    .setName("Days to forecast")
      .setAllowOverride(false);


  return config.build();
}

Когда следует избегать определения параметра как переопределяемого

Рекомендуется ознакомиться с принципами взаимодействия коннекторов, источников данных и отчетов, изучив раздел [Как Data Studio подключается к вашим данным].

В следующих случаях следует избегать указания параметра как переопределяемого:

  1. Когда значение параметра влияет на схему.
    • Если пользователь изменяет значение параметра, и схема возвращаемых новых данных отличается от определенной в источнике данных, любой отчет, зависящий от источника данных, может перестать работать из-за отсутствующих полей.
  2. Если значение параметра управляет конфиденциальными данными. Например, при выборе учетной записи.
    • Не следует указывать параметр как переопределяемый, если вы хотите предотвратить непреднамеренный просмотр или передачу конфиденциальных данных.

Включение параметров для пользователей отчетов

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

Разрешить редакторам отчетов изменять значения параметров.

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

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

Включение опции переопределения

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

Редакторы отчетов контролируют, какие параметры могут быть изменены пользователями , просматривающими отчеты . Значения параметров затем могут быть изменены через URL-адрес отчета любым пользователем, просматривающим отчет.

Например, рассмотрим коннектор, у которого определены два параметра, которые можно переопределить: zipcode и units (рисунок 1). Если владелец источника данных разрешил изменять zipcode в отчетах (рисунок 2), то редакторы отчетов смогут разрешать изменение zipcode только пользователям, просматривающим отчеты . Редактор отчетов не будет иметь доступа или видимости для разрешения изменения параметра units пользователями, просматривающими отчеты.

Параметр почтового индекса включен
Рисунок 1 : Конфигурация разъема.

Изменить можно только параметр «Почтовый индекс».
Рисунок 2 : Управление параметрами.

Параметры URL

Чтобы разрешить пользователям, просматривающим отчеты , редактировать значения параметров через URL-адрес отчета:

  1. Отредактируйте отчет.
  2. Выберите Ресурс -> Управление параметрами отчета .
  3. Используйте флажки «Разрешить изменение в URL-адресе отчета», чтобы разрешить или запретить изменение значений параметров в URL-адресе отчета. Изменения сохраняются автоматически.
  4. Нажмите кнопку «Закрыть» в правом верхнем углу.

Изменение значений параметров

Редакторы отчетов могут изменять значения параметров с помощью панели свойств отчета, а пользователи, просматривающие отчеты, могут изменять значения параметров через URL-адрес отчета.

Панель свойств отчета

Чтобы узнать, как редактор отчетов может задавать значения параметров, см. раздел «Изменение параметров в отчете» .

Параметры URL-адреса отчета

Для параметров, которые разрешено изменять в URL-адресе отчета , значения можно задать с помощью закодированного в URL-адресе JSON-объекта, добавляемого к URL-адресу отчета в режиме просмотра .

Для создания конфигурации URL:

  1. Соберите имена параметров

    1. Отредактируйте отчет.
    2. Выберите Ресурс -> Управление параметрами отчета .
    3. Запишите названия параметров, которые вы собираетесь установить через URL-адрес отчета.

    Например, на рисунке ниже имя параметра — ds0.zipcode .

    Включение параметров URL

  2. Создайте объект параметра.

    Параметры определяются с помощью объекта JSON. Ключами для значений параметров являются их имена.

    {
      "parameterName": parameterValue
    }
    

    Типы значений параметров — STRING , NUMBER или BOOLEAN . Для параметров, принимающих несколько значений (например, выпадающие списки с множественным выбором), используйте массив значений.

    Например, если имя параметра — ds0.zipcode , то для установки почтового индекса 94094 JSON-код будет выглядеть следующим образом:

    {
      "ds0.zipcode": "94094"
    }
    
  3. URL-кодирование объекта параметра

    После создания объекта параметра используйте JSON.stringify() для преобразования его в строку, а затем используйте [encodeURIComponent] для кодирования URL-адреса.

    var params = {
      "ds0.zipcode": "94094"
    };
    var paramsAsString = JSON.stringify(params);
    var encodedParams = encodeURIComponent(paramsAsString)
    

    В результате получается следующая закодированная строка:

    "%7B%22ds0.zipcode%22%3A%2294094%22%7D"
    
  4. Сформировать URL-адрес отчета

    Получив объект параметра в формате URL, добавьте его к URL-адресу представления отчета, используя параметр запроса params .

    https://lookerstudio.google.com/reporting/ REPORT_ID /page/ PAGE_ID ?params=%7B%22ds0.zipcode%22%3A%2294094%22%7D

    Убедитесь, что вы заменили REPORT_ID и PAGE_ID значениями вашего отчета и страницы.

  5. Используйте URL-адрес

    URL-адрес отчета переопределит параметры, определенные в объекте параметров JSON, на основе наследования параметров .

Пример объекта параметра

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

  • ds0.includeToday — это поле ввода в виде флажка.
  • ds0.units — это поле ввода с одним значением.
  • ds1.countries — это поле ввода с возможностью множественного выбора.
  • ds1.labelName — это текстовое поле ввода.
  {
    "ds0.includeToday": true,
    "ds0.units": "Metric",
    "ds1.countries": ["Canada", "Mexico"],
    "ds1.labelName": "Population"
  }

Наследование параметров

Значение параметра определяется порядком приоритета, в зависимости от того, где этот параметр установлен. Параметры, установленные в местах с более высоким приоритетом, переопределяют параметры, установленные в местах с более низким приоритетом. Порядок приоритета (от самого низкого до самого высокого) следующий:

  1. Источник данных (по умолчанию)
  2. URL отчета
  3. Панель свойств отчета, в соответствии с правилами наследования параметров источника данных.