如何将 Data Studio 控件传递给 BigQuery 自定义查询
How to pass Data Studio Controls to BigQuery custom query
我有 Data Studio 报告,其中有日期和任务控件。
我正在使用自定义 BigQuery 并且已经通过 date between @DS_START_DATE and @DS_END_DATE
设置了日期控件,但我还需要在自定义查询中设置任务。
注意:我不能使用像 Task = @Task 这样的参数,因为 Task 是一个控件,而添加参数 (@Task) 是完全不同的事情。
更新:该任务不是一级过滤器。不知何故我需要它在子查询中传递它。我可以通过 @DS_START_DATE 和 @DS_END_DATE 在子查询中传递日期,但不能对 Task.
做同样的事情
提前致谢:)
除非有特定要求,否则您的设置应该可以正常工作。我假设 Task
是您数据中的一个字段。当报表查看者从 Task
过滤器控件中选择一个或多个值时,Data Studio 会使用适当的过滤器子句将查询发送到 BigQuery。您可以通过在 BigQuery 中查看结算项目的查询历史记录来确认这一点。
编辑(因为OP有添加参数的特定要求):
- 在您的数据源中创建一个
task
参数。 (how to) 这可以是 text 或 single select。如果是单select,则必须手动定义值。 确保报表编辑器可以修改此参数。
- 在您的查询中,添加到
WHERE
子句:
WHERE task = @task
- 在报告中添加适当的控件并将其 link 添加到
task
参数。
This post 在 创建参数化自定义查询 部分有一个类似的例子。
我有 Data Studio 报告,其中有日期和任务控件。
我正在使用自定义 BigQuery 并且已经通过 date between @DS_START_DATE and @DS_END_DATE
设置了日期控件,但我还需要在自定义查询中设置任务。
注意:我不能使用像 Task = @Task 这样的参数,因为 Task 是一个控件,而添加参数 (@Task) 是完全不同的事情。
更新:该任务不是一级过滤器。不知何故我需要它在子查询中传递它。我可以通过 @DS_START_DATE 和 @DS_END_DATE 在子查询中传递日期,但不能对 Task.
做同样的事情提前致谢:)
除非有特定要求,否则您的设置应该可以正常工作。我假设 Task
是您数据中的一个字段。当报表查看者从 Task
过滤器控件中选择一个或多个值时,Data Studio 会使用适当的过滤器子句将查询发送到 BigQuery。您可以通过在 BigQuery 中查看结算项目的查询历史记录来确认这一点。
编辑(因为OP有添加参数的特定要求):
- 在您的数据源中创建一个
task
参数。 (how to) 这可以是 text 或 single select。如果是单select,则必须手动定义值。 确保报表编辑器可以修改此参数。 - 在您的查询中,添加到
WHERE
子句:WHERE task = @task
- 在报告中添加适当的控件并将其 link 添加到
task
参数。
This post 在 创建参数化自定义查询 部分有一个类似的例子。