Как определить путь отдельных событий в каждом сеансе в приложении в Bigquery? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть данные из раздела событий в Firebase, экспортированные как необработанные данные в Bigquery.

Я выяснил, как выполнить запрос для каждого уникального пользователя, но есть проблема с сеансом. Теперь клиент хочет видеть разные сессии каждого пользователя: когда он входит в приложение и когда он заканчивает работу. У меня есть все события уже в моих данных. Мне нужен только код.

Надеюсь, вы понимаете. Жду ваших ответов

Я пробовал это:

SELECT countif(event_1 = "first_open") AS funnel_1_count, 
  countif(event_1 = "first_open" AND event_2 = 
    "auth") AS funnel_2_count,
  countif(event_1 = "first_open" AND event_2 = 
    "auth" AND event_3 = "cat_list") AS 
    funnel_3_count,
    countif(event_1="first_open" AND event_2 = "auth" and event_3="cat_list" and event_4="amulet_screen") AS
    funnel_4_count
FROM 
(
  SELECT event_name as event_1,
    LEAD(event_name, 1) OVER (PARTITION BY user_pseudo_id ORDER BY 
      event_timestamp) AS event_2,
    LEAD(event_name, 2) OVER (PARTITION BY user_pseudo_id ORDER BY 
      event_timestamp) AS event_3,
    LEAD(event_name, 3) OVER (PARTITION BY user_pseudo_id ORDER BY 
      event_timestamp) AS event_4,
    user_pseudo_id, event_timestamp
  FROM
  (
    SELECT event_name, user_pseudo_id , event_timestamp,
      LEAD (event_name, 1) OVER (PARTITION BY user_pseudo_id ORDER 
        BY event_timestamp) AS next_event
    FROM `weawe-app.analytics_218516825.events_20200204`
    WHERE event_name IN ("first_open", "auth", 
      "cat_list", "amulet_screen")
    ORDER BY 2,3,4
  ) 
  WHERE event_name != next_event OR next_event IS NULL
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...