Google bigquery 使用DataStudio为BigQuery中的自定义查询指定日期范围,其中日期范围影响查询中的运算符

Google bigquery 使用DataStudio为BigQuery中的自定义查询指定日期范围,其中日期范围影响查询中的运算符,google-bigquery,google-data-studio,Google Bigquery,Google Data Studio,我目前有一个连接到BigQuery自定义查询的DataStudio仪表板 该BQ查询有一个硬编码的日期范围,并且根据该范围中指定的日期,行的“新建”或“重新许可”列之一的状态可以动态更改。我希望能够从DataStudio更改该范围 我试过: 简单地将DS仪表板连接到BQ中的自定义查询,然后引入一个日期范围过滤器,但正如您所想象的那样——这不起作用,因为它在一个已经硬编码的日期范围上运行 复习相似的答案,但他们的问题看起来并不完全相同 以下是我在BQ中的查询: SELECT t0.New_Or_R

我目前有一个连接到BigQuery自定义查询的DataStudio仪表板

该BQ查询有一个硬编码的日期范围,并且根据该范围中指定的日期,行的“新建”或“重新许可”列之一的状态可以动态更改。我希望能够从DataStudio更改该范围

我试过:

简单地将DS仪表板连接到BQ中的自定义查询,然后引入一个日期范围过滤器,但正如您所想象的那样——这不起作用,因为它在一个已经硬编码的日期范围上运行

复习相似的答案,但他们的问题看起来并不完全相同

以下是我在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设置开始日期和结束日期,并将这些日期合并到报告范围中,该范围随后会影响查询其余部分中的操作,这些操作会将计划条目指定为新的或重新授权的。

您是否看过在DataStudio中使用BigQuery连接器的自定义查询接口将开始日期和结束日期定义为作为筛选器一部分的参数

您的查询需要重新处理一下。。。 下面的示例自定义查询使用@DS_START_DATE和@DS_END_DATE参数作为表的创建日期列的筛选器的一部分。查询生成的记录将限制在报表用户选择的日期范围内,从而减少返回的记录数,从而加快查询速度:

资源: 在DataStudio中引入BigQuery参数

运行参数化查询