【发布时间】:2018-11-26 13:14:33
【问题描述】:
我目前正在 Big Query 中使用 Google Analytics Data,我还没有搞清楚的一件事是如何编写查询以获取来自一个会话的事件的聚合数据。 我四处寻找可能有用的东西,但到目前为止还没有找到。 基本上,这就是表格的外观(大大简化):
UserID | event_name | event_timestamp
--------------------------------------
1 | login | 1543171146125000
1 | other event| 1543171155329000
1 | other event| 1543171155341001
1 | login | 1543171157796003
1 | other event| 1543171160541000
2 | login | 1543171157796003
2 | other event| 1543171177531000
我现在要做的是通过用户和会话聚合数据,而会话被定义为所有事件,直到为该用户显示另一个登录事件。 我假设我必须想出一个附加字段“会话”,一旦遇到当前聚合的 UserID 的登录 event_name,它基本上总是显示一个新 ID。
因此,例如,在这种情况下,如果我想要汇总事件计数,则结果表将类似于:
UserID | session | EventCount
---------------------------
1 | 1 | 3
1 | 2 | 2
2 | 1 | 2
我的假设是我可以使用一些子查询来获取那个神奇的“会话”字段,例如:
SELECT UserID, session, COUNT(event_name) as EventCount
FROM (Insert Magical Subquery here)
GROUP BY UserID, session
任何想法如何做到这一点?这似乎是一件简单的事情,但我就是想不通。
【问题讨论】:
标签: sql google-bigquery bigquery-standard-sql