カスタムクエリでパラメータを使用する

パラメータを使用すると、よりレスポンシブでカスタマイズ可能なレポートを作成できます。データソースのパラメータは、基になるクエリに戻すことが可能です。カスタムクエリでパラメータを使用するには、パラメータ化されたクエリの実行に記載されている、関連する構文のガイドラインをご利用ください。

標準パラメータ

カスタムクエリでは、次のパラメータを使用できます。

パラメータ

目的

\@DS_START_DATE

レポート期間の開始日を取得します。

\@DS_END_DATE

レポート期間の終了日を取得します。

\@DS_USER_EMAIL

ログイン ユーザーのメールアドレスを取得します。

これらのパラメータを使用するには:

  1. クエリエディタの下で、使用するパラメータをオンにします。

    \@DS_USER_EMAIL パラメータをオンにすると、メールアドレスへのアクセスを許可するよう求められます。

  2. クエリでは、パラメータ名に必ず大文字を使用してください。

すべてのパラメータ値は文字列として渡されます。パラメータ値を日付、数値、その他のデータ型として処理するには、PARSE_DATE、PARSE_TIMESTAMP、CAST などの適切な変換関数を使用してください。

日付パラメータを使用して、基になるクエリに期間を渡す

レポートに期間設定が含まれている場合、閲覧者はその期間設定を使用して、異なる開始日および終了日のデータをリクエストできます。

メール パラメータを使用して、データへの行レベルのアクセスを提供する

メール パラメータを使用すると、レポート、データソース、原因分析にログインしているユーザーに関連付けられたデータのみを表示できます。そのユーザーは、Google アカウントにログインし、Looker Studio にメールアドレスを提供することに同意する必要があります。閲覧者が同意しない場合、このデータソースに基づくレポートのすべてのグラフに承認エラーが表示されます。

カスタム パラメータ

カスタムクエリでは、Looker Studio の管理画面で作成したパラメータを使用できます。

接続ページでパラメータを作成する

  1. カスタムクエリ エディタの下にある [+ パラメータを追加] をクリックします。
  2. パラメータ オプションを設定します。
  3. [OK] をクリックします。

データソースでカスタム パラメータを非表示にする

デフォルトでは、レポートでのカスタム パラメータの変更は許可されています。レポートの編集者がパラメータ値を変更できないようにするには、パラメータを非表示にします。

  1. パラメータの右側にある、その他のオプション [その他のオプション] をクリックします。 をクリックします。
  2. [非表示] をクリックします。

詳しくは、レポートのデータソース パラメータを許可するをご覧ください。

カスタムクエリでパラメータを使用する

カスタムクエリの本文で、ハードコードされた値を @ で始まる識別子(例: \@param_name)。

パラメータの例

カスタム パラメータの例:

SELECT word FROM `TABLE` WHERE corpus = @corpus;

REGEXP_CONTAINS と数値を指定した文字列を使用します。

SELECT * FROM `bigquery-public-data.baseball.games_post_wide`

WHERE REGEXP_CONTAINS(gameId, @s)

AND attendance > @attendance LIMIT 100;

複数選択の文字列パラメータを使用します。UNNEST を使用して値のリストをフラット化している点に注目してください。

SELECT * from user.users as user WHERE display_name in UNNEST(@name);

日付パラメータの例(日付は標準形式):

SELECT creation_date, age, display_name from user.users as user

WHERE creation_date > PARSE_DATE('%Y%m%d', @DS_START_DATE)

AND creation_date < PARSE_DATE('%Y%m%d', @DS_END_DATE);

日付パラメータの例(日付はマイクロ秒単位の Unix タイムスタンプ):

SELECT creation_date, age, display_name from user.users as user

WHERE creation_date > UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_START_DATE))

AND creation_date < UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_END_DATE));

メール パラメータの例:

Select * from Sales WHERE sales-rep-email = @DS_USER_EMAIL;

パラメータについて