借助参数,您可以构建响应速度更快、可自定义的报告。您可以将数据源中的参数传递回底层查询。如需在自定义查询中使用参数,请遵循运行参数化查询中记录的相关语法准则
标准参数
您可以在任何自定义查询中使用以下参数:
| 参数 |
用途 |
|---|---|
| @DS_START_DATE |
获取报告日期范围的开始日期。 |
| @DS_END_DATE |
获取报告日期范围的结束日期。 |
| @DS_USER_EMAIL |
获取已登录用户的电子邮件地址。 |
如需使用这些参数,请按以下步骤操作:
在参数 部分中,启用您要使用的参数。
在查询中,请务必使用大写字母作为参数名称。
所有参数值都以字符串的形式传递。如需将它们作为日期、数字或其他数据类型进行处理,请务必使用适当的转换函数,例如 PARSE_DATE、PARSE_TIMESTAMP 或 CAST。
使用日期参数将日期范围传递给底层查询
如果您的报告包含日期范围控件,查看者可以使用该控件从数据中请求不同的开始日期和结束日期。
使用电子邮件参数提供对数据的行级访问权限
借助电子邮件参数,您可以仅显示与报告、数据源或探索的已登录用户相关联的数据。该用户必须登录 Google 账号,并且必须同意向数据洞察提供其电子邮件地址。如果查看者不同意,则报告中基于此数据源的所有图表都会显示授权错误。
自定义参数
您可以在自定义查询中使用在数据洞察界面中创建的任何参数。
在连接页面中创建参数
- 在自定义查询编辑器中的参数 部分,点击 + 添加参数 。
- 配置参数选项。
- 点击确定 。
在数据源中隐藏自定义参数
默认情况下,可以在报告中修改自定义参数。如需阻止报告编辑者更改参数的值,您可以隐藏该参数。
- 点击参数右侧的更多选项
。 - 点击隐藏 。
在自定义查询中使用参数
在自定义查询的正文中,将硬编码的值替换为以 @ 字符开头的标识符。例如:@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 use
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;