bigquery 中的动态日期选择

Posted

技术标签:

【中文标题】bigquery 中的动态日期选择【英文标题】:Dynamic date selection in bigquery 【发布时间】:2019-07-12 15:40:18 【问题描述】:

我喜欢导出 current_day-1 和 current_day - 8 的 GA 会话信息(例如:visitStartTime)。

current_day 是 12072019,

current_day-1day 是 11072019

current_day - 8 天是 03072019。

是否可以通过单个查询提取此信息?

预期结果:

【问题讨论】:

【参考方案1】:

我希望您可以在 WHERE 子句条件中使用它(我已尽力匹配您提到的输入格式和显示的输出格式;如果您不需要输出要格式化):

-- Example Data for testing
WITH
  data AS (SELECT RAND() AS VisitStartTimeCount,t AS DAte FROM UNNEST(["11072019","04072019","10072019"]) AS t)

SELECT
  VisitStartTimeCount,
  FORMAT_DATE("%Y%m%d",PARSE_DATE("%d%m%Y",Date)) AS Date
FROM
  data
WHERE
  PARSE_DATE("%d%m%Y",Date) IN(
    DATE_SUB(CURRENT_DATE(),INTERVAL 1 DAY),
    DATE_SUB(CURRENT_DATE(),INTERVAL 8 DAY)
  )

(虽然OR 可以使用两个表达式,但使用IN() 可以避免重复列名。)

【讨论】:

以上是关于bigquery 中的动态日期选择的主要内容,如果未能解决你的问题,请参考以下文章

使用 bigquery 和 Data Studio 进行动态查询

如何将特定日期格式加载到 BigQuery

使用材料 ui 键盘日期选择器动态设置日期

列中的 BigQuery 日期分区

BigQuery 结果中的 CURRENT_DATE 到昨天的日期

如何在 BigQuery 中设置动态会计日期范围?