试图获取一个列表:
guestid,首次访问时间,发生交易的点击时间。
我所写的只是获取具有交易收入的行。我还尝试通过 Date(visitStartTime) 将unix日期的visitStartTime转换为常规日期,但由于输出的日期,这在组中失败了。
任何方向都超级有帮助。
SELECT
fullvisitorID,
visitNumber,
visitStartTime,
hits.transaction.transactionRevenue
FROM
[75718103.ga_sessions_20150310],
[75718103.ga_sessions_20150309],
[75718103.ga_sessions_20150308],
[75718103.ga_sessions_20150307],
[75718103.ga_sessions_20150306],
[75718103.ga_sessions_20150305],
[75718103.ga_sessions_20150304],
[75718103.ga_sessions_20150303],
[75718103.ga_sessions_20150302],
WHERE totals.transactions >=1
GROUP BY
fullvisitorID, visitNumber, visitStartTime, hits.transaction.transactionRevenue;
VisitStartTime 在 Google Analytics 模式中定义为 POSIX 时间,这意味着自纪元以来的秒数。 BigQuery TIMESTAMP 被编码为micro自纪元以来的秒数。因此,为了获得 TIMESTAMP 形式的开始时间,我使用了TIMESTAMP(INTEGERvisitStartTime*1000000))
。 hit.time 包含的数量milli自第一次命中以来的秒数,因此要获取交易时间,需要将它们乘以 1000 才能达到微秒粒度,因此TIMESTAMP(INTEGER(visitStartTime*1000000 + hits.time*1000))
。由于命中是重复记录,因此不需要 GROUP BY,数据模型已经将所有命中分组在一起。
把它们放在一起:
SELECT
fullVisitorId,
timestamp(integer(visitStartTime*1000000)) as start_time,
timestamp(integer(visitStartTime*1000000 + hits.time*1000)) as transaction_time
FROM
[google.com:analytics-bigquery:LondonCycleHelmet.ga_sessions_20130910]
WHERE hits.transaction.transactionRevenue > 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)