我正在获取主页热点图的数据,并且我只希望看到前一页为主页的综合浏览量。
我的数据是导入的Google Analytics(分析)表格-BQ中不存在“上一页路径”指标,那么我该如何解决呢?
这是我的查询的基本示例:
SELECT
hits.page.pagePath
FROM (TABLE_DATE_RANGE([***.ga_sessions_],
DATE_ADD(CURRENT_TIMESTAMP(), -4, 'DAY'),
DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))
WHERE ? -- Where previous page path was the homepage?
GROUP BY hits.page.pagePath
Run Code Online (Sandbox Code Playgroud)
我可以在WHERE子句中使用什么来定义上一个页面路径?
以下是BigQuery标准SQL
#standardSQL
SELECT Page, COUNT(*) AS PageViews
FROM(
SELECT hit.page.pagePath AS Page,
LAG(hit.page.pagePath, 1) OVER (PARTITION BY fullVisitorId, visitId, DATE ORDER BY hit.hitNumber ASC) AS PreviousPage
FROM `your_ga_sessions_table`, UNNEST(hits) AS hit
WHERE hit.type='PAGE'
)
WHERE PreviousPage='/yourHomePage'
GROUP BY Page
-- ORDER BY PageViews DESC
Run Code Online (Sandbox Code Playgroud)
还请考虑以下版本,在该版本中,您可以收集每个访问者/访问者的整个路径,而不是使用正则表达式按任何给定的路径模式进行过滤
#standardSQL
SELECT
fullVisitorId,
visitId,
STRING_AGG(hit.page.pagePath, '>' ORDER BY hit.hitNumber) AS path
FROM `your_ga_sessions_table`, UNNEST(hits) AS hit
WHERE hit.type='PAGE'
GROUP BY fullVisitorId, visitId
HAVING REGEXP_CONTAINS(path, r'/page1>/page1')
-- ORDER BY 1, 2
Run Code Online (Sandbox Code Playgroud)
通过正确构造正则表达式,您可以查找任何长度和顺序等的任何页面序列,以支持例如漏斗分析