sql - 如何找到用户在 bigquery 中执行的不同会话的engagement_time_msec 总和?
问题描述
对于特定的“event_params.key”=“ga_session_id”,我想在“event_params.key”=“engagement_time_msec”时找到“event_params.value.int_value”的总和。这是为每个用户完成的(列 - “user_pseudo_id”)。
“engagement_time_msec”仅存在于“event_name”=“screen_view”和“user_engagement”中,并且对于一个特定的“ga_session_id”可以多次出现。
基本上,“ga_session_id”是“user_pseudo_id”创建的每个会话的唯一 ID。我想找到用户的平均会话持续时间。
请帮我。
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
select user_pseudo_id, avg(session_time_msec) as avg_session_time_msec
from (
select user_pseudo_id,
(select value.int_value from e.event_params where key = 'ga_session_id') as ga_session_id,
sum((select value.int_value from e.event_params where key = 'engagement_time_msec')) as session_time_msec
from `project.dataset.table` e
group by 1, 2
)
group by 1
推荐阅读
- arrays - 使用数组作为值创建对象时出现json格式错误
- ios - AppleWatch 模拟器和 iPhone 模拟器之间的 transferUserInfo 停止从 Xcode 11 工作
- python - Raspberry Pi 4 命令打开 TCP 套接字
- python - 这个 json.load 有什么问题?
- optimization - Pytorch - 后向()函数应该在时代或批次的循环中吗?
- assembly - _mm_set_epi8 的汇编等效项,除最后一个参数外,所有参数均为零
- python - 在python中,如何知道一个XML的节点结构和属性?
- scala - lagom 框架中的 lagom 服务器是什么?
- google-analytics - 为什么 Google Analytics 的漏斗可视化会将跟踪的漏斗步骤作为退出页面?
- python - 在 scikit-learn 预测中使用 NumPy 数组作为特征