Big Query-如何在 Big Query 中按浏览量、用户每周比较数据

Posted

技术标签:

【中文标题】Big Query-如何在 Big Query 中按浏览量、用户每周比较数据【英文标题】:Big Query-how to compare the data weekly by pageviews,users in Big query 【发布时间】:2021-01-08 11:21:18 【问题描述】:

我正在尝试每周比较 Big Query 中的浏览量、用户数和会话数 所以我想将 2019 年(2 月 1 日至 2 月 14 日)的数据与 2020 年(2 月 1 日至 2 月 14 日)的数据进行比较,并大致预测 2021 年(2 月 1 日至 2 月 14 日)

你能帮我看看如何在一个查询中查看每周数据比较吗?

所以下面我只看到每天的数据,我想看到的是 2019 年 2 月 1 日至 2 月 14 日的每周数据,并以相同的方式查看 2020 年和 2021 年数据的每周数据

【问题讨论】:

请提供一些示例数据和预期输出。 @Popeye 在上面添加了一张图片 "compare" 不是 SQL 操作。请说明你要实现的逻辑和你想要的结果。 @GordonLinoff 我的意思是我想查看 2019 年、2020 年的每周统计数据以及同一时间段的 2021 年预测数据。 @DivyangJain 。 . .请解释“预测”值的来源。没有 SQL 关键字“predict”。 【参考方案1】:

在标准 SQL 中尝试以下操作:

with data as (
  select 1 as row, 'Life' as sitesection, '20190201' as `date`,   21940 as Pageviews, 19429 Users
  union all
  select 2 as row, 'Life' as sitesection, '20190202' as `date`,   29283 as Pageviews, 25910 Users
  union all
  select 1 as row, 'Life' as sitesection, '20200201' as `date`,   5 as Pageviews, 2 Users
  union all
  select 2 as row, 'Life' as sitesection, '20200202' as `date`,   6 as Pageviews, 3 Users
)
select  extract(YEAR from PARSE_DATE("%Y%m%d", date)) as Year, 
        extract(WEEK from PARSE_DATE("%Y%m%d", date)) as week, 
        sum(Pageviews) as totl_pageviews, 
        sum(Users) as total_users from data
group by extract(YEAR from PARSE_DATE("%Y%m%d", date)), extract(WEEK from PARSE_DATE("%Y%m%d", date)) 

它显示了按年和周分组的页面浏览量和用户总数。我尝试在WITH 子句中模拟您图片中的数据。

【讨论】:

【参考方案2】:

Kyrylo 的上述回答很好,但对于大多数用途,您可能希望显示一周的第一天,也许是这样:

with data as (
  select 1 as row, 'Life' as sitesection, date('2019-02-01') as `date`, 21940 as Pageviews, 19429 Users
  union all
  select 2 as row, 'Life' as sitesection, date('2019-02-02') as `date`, 29283 as Pageviews, 25910 Users
  union all
  select 1 as row, 'Life' as sitesection, date('2020-02-01') as `date`, 5 as Pageviews, 2 Users
  union all
  select 2 as row, 'Life' as sitesection, date('2020-02-02') as `date`, 6 as Pageviews, 3 Users
)
select  DATE_TRUNC(`date`, week) as first_day_of_week,
        sum(Pageviews) as totl_pageviews, 
        sum(Users) as total_users from data
group by first_day_of_week

【讨论】:

以上是关于Big Query-如何在 Big Query 中按浏览量、用户每周比较数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Big Query 中获取测量协议命中数据?

如何在 Big Query 视图中计算短语

如何使用间隔交叉加入 Big Query?

如何在 Big Query 中复制 GA 字段访问

如何重命名 Big Query 中的列? [关闭]

如何在每次上传桶时更新Big Query后端数据