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

Zak*_*nga 1 google-bigquery looker-studio

我目前有一个连接到 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; 
Run Code Online (Sandbox Code Playgroud)

本质上 - 我希望能够从 google data studio 设置start_dateend_date,并将这些日期合并到 中,report_range然后影响查询其余部分的操作(将计划条目分配为newrelicensed)。

Sté*_*tte 8

您是否考虑过使用 Data Studio 中 BigQuery 连接器的自定义查询接口将start_dateend_date定义为参数,作为过滤器的一部分。

Your query would need a little re-work... The following example custom query uses the @DS_START_DATE and @DS_END_DATE parameters as part of a filter on the creation date column of a table. The records produced by the query will be limited to the date range selected by the report user, reducing the number of records returned and resulting in a faster query:

在此输入图像描述

Resources:
Introducing BigQuery parameters in Data Studio https://www.blog.google/products/marketingplatform/analytics/introducing-bigquery-parameters-data-studio/

Running parameterized queries
https://cloud.google.com/bigquery/docs/parameterized-queries