BigQuery&;Firebase-如何确定每周增长

BigQuery&;Firebase-如何确定每周增长,firebase,google-bigquery,firebase-analytics,Firebase,Google Bigquery,Firebase Analytics,我正试图为我的Android应用程序的以下关键指标构建一个仪表板。为此,我使用BigQuery支持的Firebase分析 我正在努力获得每周的first\u openeventcount和比率的增长 本周 前一周 有史以来最好的一周 我可以在BigQuery中将当前周和前一周的first\u open事件计数作为单独的查询获取(例如以下作为前一周查询的示例): 但是,我无法通过组合这两个查询(本周与前一周)来获得一个比率,而且,我也无法获得有史以来最好的一周first\u open计数。要获

我正试图为我的Android应用程序的以下关键指标构建一个仪表板。为此,我使用BigQuery支持的Firebase分析

我正在努力获得每周的
first\u open
event
count
比率的增长

  • 本周
  • 前一周
  • 有史以来最好的一周
我可以在BigQuery中将当前周和前一周的
first\u open
事件计数作为单独的查询获取(例如以下作为前一周查询的示例):

但是,我无法通过组合这两个查询(本周与前一周)来获得一个比率,而且,我也无法获得有史以来最好的一周
first\u open
计数。

要获得“有史以来最好的一周”,您可以按周对事件进行分组,并按计数排序。像这样的

SELECT 
    DATE_TRUNC(event_date, WEEK) AS week,
    COUNT(*) AS count
FROM BQ_TABLE
WHERE BQ_TABLE.name = 'first_open'
GROUP BY week
ORDER BY count DESC
要获取当前/上一周,可以将上述查询转换为子查询,并按目标周对其进行筛选

请注意,“有史以来最好的一周”查询将始终是一个完整的表扫描,并且可能会变得昂贵,具体取决于事件的数量和执行查询的频率。

要获得“有史以来最好的一周”,您可以按周对事件进行分组,并按计数排序。像这样的

SELECT 
    DATE_TRUNC(event_date, WEEK) AS week,
    COUNT(*) AS count
FROM BQ_TABLE
WHERE BQ_TABLE.name = 'first_open'
GROUP BY week
ORDER BY count DESC
要获取当前/上一周,可以将上述查询转换为子查询,并按目标周对其进行筛选


请注意,“有史以来最好的一周”查询将始终是一个完整的表扫描,并且可能会变得昂贵,具体取决于事件的数量和执行查询的频率。

我不确定您是否可以这样进行查询(至少我无法使其正常工作)。事实上,BQ中的表被拆分为每日表。另外,什么是事件日期?谢谢
event\u date
是您在
events
表中使用的任何日期字段。所以您使用的是每日表,而不是每天对一个表进行分区?(可能与firebase与BQ集成的方式有关,我不太熟悉)我不确定您是否可以这样查询(至少我无法使其工作)。事实上,BQ中的表被拆分为每日表。另外,什么是事件日期?谢谢
event\u date
是您在
events
表中使用的任何日期字段。所以您使用的是每日表,而不是每天对一个表进行分区?(可能与firebase与BQ集成的方式有关,我对此不熟悉)