我试图通过网站上的预订页面获取人们的总页数。这是我的询问。
SELECT sum( totals.pageviews ) AS Searches,Date
FROM `table*`
WHERE exists (
select 1 from unnest(hits) as hits
where hits.page.pagePath ='booking'
)
and date='20161109'
GROUP BY DATE
但是我得到的结果比我从Google Analytics获得的结果更多。 大查询结果:大约1M GA:大约300,000 这是我尝试与
匹配的GA页面答案 0 :(得分:0)
在详细了解Google Analytics数据之后,我认为您实际上想要计算hits
中与条件匹配的条目,而不是依赖totals.pageViews
。问题是totals.pageViews
表示在特定会话中访问的不同页面的数量(如果我使用的是正确的术语),其中包括与您的过滤器不匹配的页面。我想你想要这样的东西:
SELECT
COUNT(*) AS Searches,
Date
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking';
直接对匹配的页面进行计数,并希望能够给出预期的数字。
答案 1 :(得分:0)
尝试以下
SELECT
date,
COUNT(*) AS Searches,
SUM(totals.pageviews) as PageViews
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking'
AND hit.hitNumber = 1
GROUP BY date
搜索 - 以预订页面开始的会话数量作为网站的入口点; PageViews - 这些(上述)会话中的综合浏览量
我想在预订页面上有总计(totals.pageview) 网站。查看预订页面的次数
首先 - total(totals.pageview)
- 在你假设使用total.pageviews字段是正确的时候没有帮助确定你真正需要什么,这似乎不是 - 至少基于你的其他措辞
其次,如果假设您需要的是 - 网站上预订页面的浏览量计数 - 唯一合理的答案在下面
SELECT
date,
COUNT(1) AS BookingPageViews
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking'
GROUP BY date
最后,如果你仍然得到与你期望的数字不同的数字 - 你需要重温你实际想要的东西。可能是您在GA中看到的数字表示与您认为代表的不同的指标。这是我看到的唯一解释
答案 2 :(得分:0)
我发现解决方案解决了这个问题:
SELECT count(totals.pageviews)AS搜索,日期
来自table
,UNNEST(点击)作为点击
在哪里hits.page.pagePath =' / booking'和hits.type =' PAGE'
按日期分组
希望这个答案可以帮助其他人。