Как рассчитать среднее время посещения для screen_class (firebase) в bigquery? - PullRequest
0 голосов
/ 09 марта 2020

Я хотел бы рассчитать среднее время, как показано на скриншоте ниже, используя bigquery, но я не уверен, как добавить класс экрана в мой запрос, чтобы иметь возможность получить тот же результат, не могли бы вы мне помочь?

Мой текущий запрос только суммирует все значения за время взаимодействия mse c

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 time

1 Ответ

0 голосов
/ 12 марта 2020

Я забочусь об этом деле, чтобы предоставить вам обновление.

Ваша таблица, похоже, сгруппирована по классу экрана, и именно поэтому возможно агрегирование avg.

Я не знаком с Firebase, но я обнаружил схемы BigQuery Export и Сведения о параметрах события , которые, вероятно, использует ваша таблица на изображении, особенно firebase_screen_class (класс экрана) и engagement_time_mse c.

Итак, после проверки вашего вопроса о включении класса экрана в качестве столбца, вы можете использовать две таблицы для группировки по firebase_screen_class, например:

#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

Примечание. Для запроса может потребоваться некоторые корректировки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...