Bigquery 周级别信息

Posted

技术标签:

【中文标题】Bigquery 周级别信息【英文标题】:Bigquery Week level info 【发布时间】:2016-06-09 15:13:03 【问题描述】:

我有一个查询返回过去 7 天的每日数据。我想知道使用 bigquery 获取过去 4 周每周数据的语法

-周总计

第 1 周 15 第 2 周 20 第 3 周 35

【问题讨论】:

【参考方案1】:

类似的东西:

SELECT 
  YEAR(day) AS year, 
  WEEK(day) AS week, 
  SUM(metric) AS total 
FROM YourTable
WHERE WEEK(CURRENT_DATE()) - WEEK(day) < 4
GROUP BY 1, 2

测试/播放 - 您可以使用以下方法来模拟您的数据

SELECT 
  YEAR(day) AS year, 
  WEEK(day) AS week, 
  SUM(metric) AS total 
FROM (
  SELECT 
    DATE(DATE_ADD(TIMESTAMP('2016-01-01'), pos - 1, "DAY")) AS day, 
    CAST(100 * RAND() AS INTEGER) AS metric
  FROM (
       SELECT ROW_NUMBER() OVER() AS pos, *
       FROM (FLATTEN((
       SELECT SPLIT(RPAD('', 1 + DATEDIFF(TIMESTAMP(CURRENT_DATE()), TIMESTAMP('2016-01-01')), '.'),'') AS h
       FROM (SELECT NULL)),h
  )))
) AS YourTable
WHERE WEEK(CURRENT_DATE()) - WEEK(day) < 4
GROUP BY 1, 2

【讨论】:

以上是关于Bigquery 周级别信息的主要内容,如果未能解决你的问题,请参考以下文章

从数据洞察访问数据时,数据集级别的 BigQuery 数据查看者权限与项目级别的权限有何区别?

在一行 BigQuery 中获取今年的销售额和去年的销售额(对于同一周数)

从 BigQuery 获取用户级别的人口统计数据

使用 BigQuery 提取命中级别数据时,Google Analytics 指标被夸大了

一年中的一周使用 bigquery / bigrquery 和 dbplyr? (相当于 lubridate::week)

我正在尝试计算两周之间的差异,但是在绘制结果时出现了一个奇怪的峰值( SQL / BigQuery )