オーバーライド可能な設定パラメータ

オーバーライド可能な設定パラメータを使うと、レポートの編集者はデータソースのデフォルト値を変更できます。設定パラメータをオーバーライド可能として定義すると、データソースに柔軟性を持たせることができ、カスタマイズ可能なレポート テンプレートを作成できるようになります。

たとえば、気象データを提供するコネクタに地域パラメータを含めれば、デフォルトとは異なる地域の気象レポートをレポートの閲覧者がリクエストできるようになります。

このドキュメントでは、オーバーライド可能なパラメータの定義方法、オーバーライドを有効にする方法、およびレポート ユーザーによるパラメータ値の変更方法について説明します。Looker Studio でのパラメータの使用方法については、データソース パラメータをご覧ください。

ロール

ドキュメント全体で参照されるユーザーの役割:

ロール 定義
コネクタ デベロッパー コミュニティ コネクタを作成したユーザー。
データソースのオーナー データソースを作成して所有するユーザー。
レポートの編集者 編集モードでレポートにアクセスできるユーザー。
レポートの閲覧者 表示モードでレポートにアクセスできるユーザー。

オーバーライド可能なパラメータの定義

コネクタ デベロッパーは、コミュニティ コネクタの getConfig() 関数で設定パラメータを定義します。設定パラメータをオーバーライド可能として定義するには、コネクタで setAllowOverride(true) を呼び出します。

次の例では、2 つのオーバーライド可能なパラメータ(zipcodeunits)、および 1 つのオーバーライド不可のパラメータ(days-to-forcecast)を定義しています。

2 つのオーバーライド可能なパラメータのスクリーンショット

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();
}

パラメータをオーバーライド可能として定義しない場合

Looker Studio でデータに接続する方法で、コネクタ、データソース、レポートの相互関係について確認することをおすすめします。

以下の場合、パラメータをオーバーライド可能として定義しないでください。

  1. パラメータの値がスキーマに影響する場合。
    • ユーザーがパラメータ値を変更し、返される新しいデータのスキーマがデータソースで定義されているものと異なる場合、データソースに依存するレポートはフィールドが欠落するため破損する可能性があります。
  2. パラメータ値が機密データを制御する場合(アカウントの選択など)。
    • 機密データが意図せず表示されたり共有されたりするのを防ぐため、パラメータをオーバーライド可能として定義しないでください。

レポート ユーザーに対してオーバーライドを有効にする

データソースのオーナーが、レポートの編集者に変更を許可するオーバーライド可能なパラメータを決定します。同様に、レポートの編集者が、レポートの閲覧者に変更を許可するパラメータを管理します。

レポートの編集者がパラメータ値を変更できるようにする

データソースのオーナーが、レポートでの変更を許可するパラメータを決定します。パラメータの設定は、データソースの作成中または編集中に行います。この設定は、コネクタ デベロッパーによってオーバーライド可能として定義されているパラメータにのみ適用されます。パラメータのオーバーライドが有効になると、レポートの編集者はレポートのパラメータを変更できるようになります。

次の例では、コネクタの zipcodeunits という 2 つのパラメータがオーバーライド可能として定義されています。データソースのオーナーは、レポートで zipcode の変更のみを許可しています。レポートには、レポートの編集者が zipcode のパラメータ値を変更できるオプションが表示されます。

オーバーライド オプションを有効にする

レポートの閲覧者がパラメータ値を変更できるようにする

レポートの編集者が、レポートの閲覧者が変更できるパラメータを管理します。 レポートの閲覧者は、レポート URL を介してパラメータ値を変更できます。

たとえば、zipcodeunits という 2 つのパラメータがオーバーライド可能として定義されているコネクタについて考えてみましょう(図 1)。データソースのオーナーがレポートで zipcode の変更を許可している場合(図 2)、レポートの編集者はレポートの閲覧者による zipcode の変更のみを許可できます(図 2)。レポート編集者には、レポートの閲覧者が units パラメータを変更するためのアクセス権または公開設定はありません。

有効にされた郵便番号のパラメータ
図 1: コネクタ構成

郵便番号パラメータのみを変更できます
図 2: パラメータの管理。

URL パラメータ

レポートの閲覧者がレポート URL を使用してパラメータ値を編集できるようにするには:

  1. レポートを編集します。
  2. [リソース] -> [レポートの URL パラメータを管理] を選択します。
  3. [レポート URL での変更を許可する] チェックボックスを使用して、レポート URL のパラメータ値の変更を許可または禁止します。変更は自動的に保存されます。
  4. 右上の [閉じる] をクリックします。

パラメータ値の変更

パラメータ値を変更するのに、レポートの編集者はレポート プロパティ パネルを使用しますが、レポートの閲覧者はレポート URL を使用します。

レポート プロパティ パネル

レポートの編集者がパラメータ値を設定する方法については、レポートのパラメータを変更するをご覧ください。

レポート URL パラメータ

レポート URL での変更が許可されているパラメータの場合、値の設定は、レポート URL に追加される URL エンコード済みの JSON オブジェクトを介して、表示モードで行います。

URL 設定を作成するには:

  1. パラメータ名を収集する

    1. レポートを編集します。
    2. [リソース] -> [レポートの URL パラメータを管理] を選択します。
    3. レポート URL を介して設定するパラメータの名前をメモします。

    たとえば、次の図ではパラメータ名は ds0.zipcode です。

    URL パラメータを有効にする

  2. パラメータ オブジェクトを作成する

    パラメータは JSON オブジェクトを介して定義されます。パラメータ値のキーはパラメータ名です。

    {
      "parameterName": parameterValue
    }
    

    パラメータ値のタイプは、STRINGNUMBERBOOLEAN のいずれかです。複数の値を受け入れるパラメータ(複数選択プルダウンなど)の場合は、値の配列を使用します。

    たとえば、パラメータ名が 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 エンコードしたら、params クエリ パラメータを使用してレポートビュー URL に追加します。

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

    REPORT_IDPAGE_ID は、それぞれご自分のレポートとページの 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. レポート プロパティ パネル(データソースのパラメータの継承ルールに基づく)