jrj*_*s83 3 google-analytics google-bigquery
试图获取一个列表:
访客,时间第一次访问,交易发生的时间.
我写的只是抓取具有交易收入的行.我也试图将visitStartTime(这是一个unix日期)转换为通过Date(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;
Run Code Online (Sandbox Code Playgroud)
visitStartTime在Google Analytics架构中定义为POSIX时间,表示自纪元以来的秒数.BigQuery TIMESTAMP编码为自纪元以来的微秒数.因此,为了获得TIMESTAMP的开始时间,我使用了TIMESTAMP(INTEGERvisitStartTime*1000000))
.hits.time包含自首次命中以来的毫秒数,因此为了获得事务的时间,需要将它们乘以1000以获得微秒粒度,因此TIMESTAMP(INTEGER(visitStartTime*1000000 + hits.time*1000))
.由于命中重复RECORD,因此不需要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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6703 次 |
最近记录: |