[英]Use DataStudio to specify the date range for a custom query in BigQuery, where the date range influences operators in the query
我目前有一个连接到 BigQuery 自定义查询的 DataStudio 仪表板。
该 BQ 查询具有硬编码日期范围,其中一列 ( New_or_Relicensed
) 的状态可以根据范围中指定的日期动态更改一行。 我希望能够从 DataStudio 更改该范围。
我努力了:
只需将 DS 仪表板连接到 BQ 中的自定义查询,然后引入日期范围过滤器,但正如您所想象的那样 - 这不起作用,因为它在已经硬编码的日期范围内运行。
查看类似的答案,但他们的问题似乎并不完全相同,例如BigQuery Data Studio Custom Query
这是我在 BQ 中的查询:
SELECT t0.New_Or_Relicensed, t0.Title_Category FROM (WITH
report_range AS
(
SELECT
TIMESTAMP '2019-06-24 00:00:00' AS start_date,
TIMESTAMP '2019-06-30 00:00:00' AS end_date
)
SELECT
schedules.schedule_entry_id AS Schedule_Entry_ID,
schedules.schedule_entry_starts_at AS Put_Up,
schedules.schedule_entry_ends_at AS Take_Down,
schedule_entries_metadata.contract AS Schedule_Entry_Contract,
schedules.platform_id AS Platform_ID,
platforms.platform_name AS Platform_Name,
titles_metadata.title_id AS Title_ID,
titles_metadata.name AS Title_Name,
titles_metadata.category AS Title_Category,
IF (other_schedules.schedule_entry_id IS NULL, "new", "relicensed") AS New_Or_Relicensed
FROM
report_range, client.schedule_entries AS schedules
JOIN client.schedule_entries_metadata
ON schedule_entries_metadata.schedule_entry_id = schedules.schedule_entry_id
JOIN
client.platforms
ON schedules.platform_id = platforms.platform_id
JOIN
client.titles_metadata
ON schedules.title_id = titles_metadata.title_id
LEFT OUTER JOIN
client.schedule_entries AS other_schedules
ON schedules.platform_id = other_schedules.platform_id
AND other_schedules.schedule_entry_ends_at < report_range.start_date
AND schedules.title_id = other_schedules.title_id
WHERE
((schedules.schedule_entry_starts_at >= report_range.start_date AND
schedules.schedule_entry_starts_at <= report_range.end_date) OR
(schedules.schedule_entry_ends_at >= report_range.start_date AND
schedules.schedule_entry_ends_at <= report_range.end_date))
) AS t0 LIMIT 100;
本质上 - 我希望能够从 google data studio 设置start_date
和end_date
,并将这些日期合并到report_range
中,然后影响查询的 rest 中的操作(将计划条目分配为new
或relicensed
)。
您是否看过使用Data Studio中BigQuery连接器的“自定义查询”界面将start_date和end_date定义为参数作为过滤器的一部分。
您的查询将需要一些重做...以下示例自定义查询使用@DS_START_DATE和@DS_END_DATE参数作为表的创建日期列上过滤器的一部分。 查询产生的记录将被限制在报表用户选择的日期范围内,从而减少了返回的记录数,从而加快了查询速度:
资源:
在Data Studio中引入BigQuery参数https://www.blog.google/products/marketingplatform/analytics/introducing-bigquery-parameters-data-studio/
运行参数化查询
https://cloud.google.com/bigquery/docs/parameterized-queries
我有一个类似的问题,我想在开始前加入 30 天回顾 (@ds_start_date)。 在这种情况下,我使用了 Google Analytics UA session 数据并在我的 where 子句中使用了表后缀。 我能够使用以下方法计算与内置数据工作室“字符串”日期相关的日期:...
WHERE
_table_suffix BETWEEN
CAST(FORMAT_DATE('%Y%m%d', DATE_SUB (PARSE_DATE('%Y%m%d',@DS_START_DATE), INTERVAL 30 DAY)) AS STRING)
AND
CAST(FORMAT_DATE('%Y%m%d', DATE_SUB (PARSE_DATE('%Y%m%d',@DS_END_DATE), INTERVAL 0 DAY)) AS STRING)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.