Firebase BigQuery,在触发“app_remove”之前获取 event_name

Sha*_*512 0 sql date window-functions gaps-and-islands google-bigquery

所以在带有 Firebase Analytics 源的 Biquery 中。你有事件“app_remove”

下面显示了 users_pseudo_id 和他们删除应用程序时的时间戳。

SELECT user_pseudo_id, event_timestamp   FROM `private-4cb88.analytics_184376442.events_20200324` where event_name LIKE "%app_remove%" LIMIT 100
Run Code Online (Sandbox Code Playgroud)

我想要的数据是来自那些 user_pseudo_id 的先前 event_name。

如何在用户 app_remove 之前(app_remove 时间戳)获取 event_names?所以我可以理解在他们删除应用程序之前的最后一个事件是什么。

我已经尝试了好几天了,我真的需要一些帮助。

我想要的结果是一个表,其中包含该事件的每个用户 ID、先前的 event_name 和时间戳

GMB*_*GMB 5

您可以使用窗口函数:

select user_pseudo_id, event_timestamp
from (
    select
        r.*,
        lead(event_name) over(partition by user_pseudo_id order by event_timestamp) lead_event_name
    from `private-4cb88.analytics_184376442.events_20200324` r 
) t
where lead_event_name like '%app_remove%'
limit 100
Run Code Online (Sandbox Code Playgroud)

  • @Sharpless512:只是“lead(event_name, 2)”或“lead(event_name, 3)” (2认同)