【发布时间】:2017-08-23 18:01:22
【问题描述】:
使用 GA UI,我可以查看有多少用户查看了正在触发的特定“页面视图”。是否也可以在大查询中找到这些数据?
totals.pageviews
在会话期间为我提供所有页面浏览量,但我的兴趣在于特定页面浏览量。
通过阅读导出架构,我知道我可以查询特定页面路径,但没有提及特定页面视图。
--使用旧版 SQL
【问题讨论】:
标签: google-analytics google-bigquery
使用 GA UI,我可以查看有多少用户查看了正在触发的特定“页面视图”。是否也可以在大查询中找到这些数据?
totals.pageviews
在会话期间为我提供所有页面浏览量,但我的兴趣在于特定页面浏览量。
通过阅读导出架构,我知道我可以查询特定页面路径,但没有提及特定页面视图。
--使用旧版 SQL
【问题讨论】:
标签: google-analytics google-bigquery
是的,这当然是可能的。这可能是最有效的方法:
#standardSQL
SELECT
COUNT(1)
FROM `dataset.ga_sessions_tableid`
WHERE EXISTS(SELECT 1 FROM UNNEST(hits) WHERE REGEXP_CONTAINS(page.pagepath, r'/home/') AND type = 'PAGE')
此示例计算有多少客户访问了路径在某处有“/home/”的页面。
请注意,这会计算总用户数,而不是总页面浏览量。如果客户看到相同的页面两次,它仍然计为 1。
这个查询给出了总页面浏览量:
#standardSQL
SELECT
SUM((SELECT COUNTIF(REGEXP_CONTAINS(page.pagepath, r'/home/')) FROM UNNEST(hits) WHERE type = 'PAGE'))
FROM `dataset.ga_sessions_tableid`
WHERE EXISTS(SELECT 1 FROM UNNEST(hits) WHERE REGEXP_CONTAINS(page.pagepath, r'/home/') AND type = 'PAGE')
【讨论】:
UNNEST 是基本上打开一个数组并获取内部值的操作。通过使用标准,您可以更好地控制数据的处理方式,而不是尝试为您自动进行扁平化(并最终复制大量不必要的数据)的传统方式。
要获取特定页面的页面浏览量,请使用以下命令:
select hits.page.pagePath , count(*)
from [<insert data set name>]
where
hits.type='PAGE' and
hits.page.pagePath = '<insert page path>'
group by hits.page.pagePath
【讨论】: