オーバーライド可能な設定パラメータを使うと、レポートの編集者はデータソースのデフォルト値を変更できます。設定パラメータをオーバーライド可能として定義すると、データソースに柔軟性を持たせることができ、カスタマイズ可能なレポート テンプレートを作成できるようになります。
たとえば、気象データを提供するコネクタに地域パラメータを含めれば、デフォルトとは異なる地域の気象レポートをレポートの閲覧者がリクエストできるようになります。
このドキュメントでは、オーバーライド可能なパラメータの定義方法、オーバーライドを有効にする方法、およびレポート ユーザーによるパラメータ値の変更方法について説明します。学習内容 Looker 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();
}
パラメータをオーバーライド可能として定義しない場合
コネクタ、データソース、レポートの仕組みについては、 Looker Studio をデータに接続する方法をご覧ください。
以下の場合、パラメータをオーバーライド可能として定義しないでください。
- パラメータの値がスキーマに影響を与える場合。
- ユーザーがパラメータ値を変更し、返される新しいデータのスキーマがデータソースで定義されているものと異なる場合、データソースに依存するレポートはフィールドが欠落するため破損する可能性があります。
- パラメータ値が機密データを制御する場合(アカウントの選択など)。
- 機密データが意図せず表示されたり共有されたりするのを防ぐため、パラメータをオーバーライド可能として定義しないでください。
レポート ユーザーに対してオーバーライドを有効にする
データソースのオーナーが、レポートの編集者に変更を許可するオーバーライド可能なパラメータを決定します。同様に、レポートの編集者が、レポートの閲覧者に変更を許可するパラメータを管理します。
レポートの編集者がパラメータ値を変更できるようにする
データソースのオーナーが、レポートでの変更を許可するパラメータを決定します。パラメータの設定は、データソースの作成中または編集中に行います。この設定は、コネクタ デベロッパーによってオーバーライド可能として定義されているパラメータにのみ適用されます。パラメータのオーバーライドが有効になると、レポートの編集者はレポートのパラメータを変更できるようになります。
次の例では、コネクタの zipcode
と units
という 2 つのパラメータがオーバーライド可能として定義されています。データソースのオーナーは、レポートで zipcode
の変更のみを許可しています。レポートには、レポートの編集者が zipcode
のパラメータ値を変更できるオプションが表示されます。
レポートの閲覧者がパラメータ値を変更できるようにする
レポートの編集者が、レポートの閲覧者が変更できるパラメータを管理します。 レポートの閲覧者は、レポート URL を介してパラメータ値を変更できます。
たとえば、コネクタに次の 2 つのパラメータがオーバーライド可能として定義されているとします。
zipcode
と units
(図 1)データソースのオーナーが許可している場合、
レポートで zipcode
を変更した場合(図 2)、レポートの編集者は
レポート閲覧者が zipcode
を変更できるようにします。レポート
編集者には、units
パラメータを許可するためのアクセス権や公開設定がありません。
レポート閲覧者が編集したレポートです。
URL パラメータ
レポートの閲覧者がレポート URL を使用してパラメータ値を編集できるようにするには:
- レポートを編集します。
- [リソース] ->レポートの URL パラメータを管理する
- [レポート URL での変更を許可] チェックボックスをオンまたはオフにして、レポート URL でのパラメータ値の変更を許可または許可しないように設定します。変更は自動的に保存されます。
- 右上の [閉じる] をクリックします。
パラメータ値の変更
パラメータ値を変更するのに、レポートの編集者はレポート プロパティ パネルを使用しますが、レポートの閲覧者はレポート URL を使用します。
レポート プロパティ パネル
レポートの編集者がパラメータ値を設定する方法については、レポートのパラメータを変更するをご覧ください。
レポート URL パラメータ
レポート URL での変更が許可されているパラメータの場合、値の設定は、レポート URL に追加される URL エンコード済みの JSON オブジェクトを介して、表示モードで行います。
URL 設定を作成するには:
パラメータ名を収集する
- レポートを編集します。
- [リソース] ->レポートの URL パラメータを管理する
- レポートに設定するパラメータの名前をメモします。 URL を入力します。
たとえば、次の図ではパラメータ名は
ds0.zipcode
です。パラメータ オブジェクトを作成する
パラメータは JSON オブジェクトを介して定義されます。パラメータ値のキー パラメータ名です。
{ "parameterName": parameterValue }
パラメータ値のタイプは、
STRING
、NUMBER
、BOOLEAN
のいずれかです。複数の値を受け入れるパラメータ(複数選択プルダウンなど)の場合は、値の配列を使用します。たとえば、パラメータ名が
ds0.zipcode
の場合、郵便番号を94094
の場合、JSON は次のようになります。{ "ds0.zipcode": "94094" }
パラメータ オブジェクトを 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"
レポート URL を作成する
パラメータ オブジェクトを URL エンコードしたら、
params
クエリ パラメータを使用してレポートビュー URL に追加します。https://lookerstudio.google.com/reporting/REPORT_ID/page/PAGE_ID?params=%7B%22ds0.zipcode%22%3A%2294094%22%7D
REPORT_ID と PAGE_ID は、それぞれご自分のレポートとページの ID 値に置き換えてください。
URL を使用する
パラメータの継承に基づき、レポート URL は、JSON パラメータ オブジェクトの定義に従ってパラメータをオーバーライドします。
パラメータ オブジェクトの例
次のパラメータ オブジェクトは、複数のパラメータを設定する方法を示しています。また、 さまざまな入力タイプに応じたパラメータ値の設定を示します。
ds0.includeToday
はチェックボックス入力ですds0.units
は単一選択入力ですds1.countries
は複数選択の入力ですds1.labelName
はテキスト入力です
{
"ds0.includeToday": true,
"ds0.units": "Metric",
"ds1.countries": ["Canada", "Mexico"],
"ds1.labelName": "Population"
}
パラメータの継承
パラメータに使用される値は、パラメータが設定されている場所に基づく優先順位に従います。優先順位の高い場所に設定されたパラメータは、優先順位の低い場所に設定されたパラメータをオーバーライドします。優先順位(昇順)は以下のとおりです。
- データソース(デフォルト)
- レポート URL
- レポート プロパティ パネル(データソースのパラメータの継承ルールに基づく)