我正在BigQuery中学习标准sql,我有一个任务,必须显示在用户输入结帐后用户做了什么-他们访问了哪些特定的URL。我想出了类似的东西,但它只会告诉我上一步,而我至少要看到其中的5个。这可能吗?谢谢
SELECT ARRAY(
SELECT AS STRUCT hits.page.pagePath
, LAG(hits.page.pagePath) OVER(ORDER BY i) prevPagePath
FROM UNNEST(hits) hits WITH OFFSET i
) x
FROM `xxxx.ga_sessions_20160801`
)
SELECT COUNT(*) as cnt, pagePath, prevPagePath
FROM path_and_prev, UNNEST(x)
WHERE regexp_contains (pagePath,r'(checkout/cart)')
GROUP BY 2,3
ORDER BY
cnt desc
最佳答案
这是BQ出口的官方GA Shema:
https://support.google.com/analytics/answer/3437719?hl=en
(只是一个技巧,请随时将其导出到工作表(Excel或Google或其他工具)中,并适当缩进以简化对嵌套的理解:))
安全获取会话行为的唯一方法是获取hits.hitNumber。由于pagePath在页面下,而页面在命中下,因此将始终指定hitnumber :)
由您决定仅对填充的pagePath进行过滤,但仍显示hitnumber值。
告诉我解决方案是否符合您的问题,或者纠正我:)