如何计算bigquery中每个屏幕类(firebase)的平均访问时间?

如何计算bigquery中每个屏幕类(firebase)的平均访问时间?,firebase,google-bigquery,Firebase,Google Bigquery,我想使用bigquery计算下面截图上显示的平均时间,但我不确定如何在我的查询中添加screen类以产生相同的结果,您能帮助我吗 我当前的查询仅对所有值进行累加(以毫秒计) SELECT SUM(params.value.int_value) as total_engagement_time_msec, event_date FROM `datasetid.events_*`, UNNEST(event_params) as params WHERE event_name = 'user_en

我想使用bigquery计算下面截图上显示的平均时间,但我不确定如何在我的查询中添加screen类以产生相同的结果,您能帮助我吗

我当前的查询仅对所有值进行累加(以毫秒计)

SELECT SUM(params.value.int_value) as total_engagement_time_msec,
event_date
FROM `datasetid.events_*`, UNNEST(event_params) as params 
WHERE event_name = 'user_engagement'
AND params.key = 'engagement_time_msec'
GROUP BY event_date

我处理这个案例是为了向您提供最新信息

您的表似乎是按屏幕类分组的,事实上,这就是为什么avg聚合是可能的

我不熟悉Firebase,但我发现图像中的和您的表可能正在使用,特别是Firebase_screen_类(screen类)和engagement_time_msec

因此,在检查问题以将Screen类包含为列后,您可能希望使用两个表按firebase_Screen_类进行分组,例如:

#standardSQL
WITH (
  SELECT params.key as screen_class, event_name
  FROM `datasetid.events_*`, UNNEST(event_params) as params 
  WHERE params.key = 'firebase_screen_class'
) as sc
SELECT event_date as eventDate, sc.screen_class as screenClass, AVG(engagement_time_msec) as totalEngagementTime
FROM `datasetid.events_*`, UNNEST(event_params) as params 
WHERE event_name = 'user_engagement'
AND params.key = 'engagement_time_msec'
INNER JOIN sc
ON sc.event_name==event_name
GROUP BY event_date, screenClass
注意:查询可能需要一些调整