在 BigQuery 中滚动 7 天

Posted

技术标签:

【中文标题】在 BigQuery 中滚动 7 天【英文标题】:Rolling 7 days in BigQuery 【发布时间】:2017-07-05 13:56:03 【问题描述】:

我最近从 Legacy SQL 迁移了我的代码,需要替换 TABLE_DATE_RANGE,如何使用标准 SQL 来实现?我的数据是以 YYYYMMDD 格式导入 BigQuery 的 GA 表。

我已通读迁移文档,但不明白如何使用 _TABLE_SUFFIX 应用动态日期范围(例如过去 7 天)。我了解如何使用它来提取特定月份的日期,但不能用于滚动范围。这可能吗?

【问题讨论】:

WHERE 子句是一回事。 正如所写,很难对您的问题给出有意义的答案。查看the documentation 和其他关于_TABLE_SUFFIX 的SO google-bigquery 帖子,然后看看您是否有任何问题。 谢谢,我已经阅读了他的文档,但我看不出如何使用 _TABLE_SUFFIX 应用动态日期范围(例如过去 7 天)。我了解如何使用它来提取特定月份的日期,但不能用于滚动范围。我会相应地更新我的问题。 【参考方案1】:

我在这篇文章中找到了我的问题的答案: BigQuery StandardSQL: Last 7 Days using _TABLE_SUFFIX

我添加了:

WHERE
  PARSE_DATE('%y%m%d', _TABLE_SUFFIX) BETWEEN 
  DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
  DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)

并将我的通配符更新为 .ga_sessions_20* 而不是 .ga_sessions_*

感谢大家的帮助。

【讨论】:

以上是关于在 BigQuery 中滚动 7 天的主要内容,如果未能解决你的问题,请参考以下文章

如何计算Firebase中的MAU?我需要BigQuery吗?

优化 7 天动态队列 Firebase BigQuery

如何计算 Firebase 中的 MAU?我需要 BigQuery 吗?

使用 BigQuery 计算当前 7 天的活跃用户?

SQL Server 中 7 天滚动平均值的 SQL 查询

将超过 7 天的数据插入分区 BigQuery 表