在自定义查询中使用参数

借助参数,您可以制作响应速度更快、可自定义的报告。您可以将数据源中的参数传递回底层查询。如需在自定义查询中使用参数,请遵循运行参数化查询中记录的相关语法准则

标准参数

您可以在任何自定义查询中使用以下参数:

参数

用途

\@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. 点击确定

隐藏数据源中的自定义参数

默认情况下,您可以在报告中修改自定义参数。如需阻止报告编辑者更改参数的值,您可以隐藏该参数。

  1. 点击参数右侧的更多选项图标 更多选项。
  2. 点击隐藏

详细了解如何在报告中允许使用数据源参数

在自定义查询中使用参数

在自定义查询的正文中,将硬编码值替换为以 @ 字符开头的标识符。例如:\@param_name。

参数示例

自定义参数示例

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

使用包含字符串和数字的字符串

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;

参数简介