我正在尝试复制我在Google Analytics(分析)中拥有的一个基本细分,我想查看所有看到一个页面然后“紧随其后”另一个页面的用户。
因此,我尝试了两种方法(子查询和自我联接),当我查看会话时都可以找到它们,我的GA编号与我的bigquery编号完全匹配。生活很好。
但是,当我对用户使用相同的方法时,我会减少一些,通常在9000个左右中,大约有10-50个用户。有人为什么吗?
干杯。
我的GA细分非常基础; 页面包含X 其次是 页面包含Y
我的bigquery代码如下:
#standardsql
with
subq1 as
(
SELECT distinct
t.fullVisitorId as UserID,
hits.page.pagePath page,
visitStartTime+hits.time as EventTime
FROM `ga-project` as t,
UNNEST(hits) as hits
WHERE _TABLE_SUFFIX BETWEEN
FORMAT_DATE("%y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 4 DAY)) AND
FORMAT_DATE("%y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) AND
hits.page.pagepath like '%Y%'
),
subq2 as
(
SELECT distinct
t.fullVisitorId as UserID,
hits.page.pagePath page,
visitStartTime+hits.time as EventTime
FROM `ga-project` as t,
UNNEST(hits) as hits
WHERE _TABLE_SUFFIX BETWEEN
FORMAT_DATE("%y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 4 DAY)) AND
FORMAT_DATE("%y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) AND
hits.page.pagepath like '%X%'
)
select count(distinct a.userid) Page1toPage2 from subq1 a
join subq2 b on a.userid=b.userid and a.eventtime < b.eventtime
答案 0 :(得分:0)
BigQuery中的子查询就像视图而不是表,这就是为什么您有时会得到不同结果的原因。我建议materialize the table。为了避免存储费,您可以设置一个时间到桌子上。