我们正尝试通过measurement protocol
连接在线和离线行为
它已使用以下参数(以及其他参数)向Google Analytics
发送了一个命中:
eventCategory= offline_transaction
source= store
medium= offline
数据已在Google Analytics
中正确注册,已在“报告”部分中提供。
我试图以BigQuery
这样的方式获取它们:
SELECT
hits.eventInfo.eventCategory, trafficSource.source, trafficSource.medium
FROM [XXX:YYY.ga_sessions_20160827]
where hits.eventInfo.eventCategory="offline_transaction"
and trafficSource.source="store"
and trafficSource.medium="offline"
输出'查询返回零记录'。
对我做错了什么的任何想法? BigQuery中是否有来自Measurement Protocol的数据?
提前致谢。
答案 0 :(得分:1)
我相信正在发生的事情是,trafficSource.source / medium正在会话级别记录,hits.eventCategory在命中级别记录,因此它们永远不会包含在一行中,因此0行与您的查询匹配。尝试类似下面的内容:
SELECT
MAX(IF (hits.eventInfo.eventCategory = "offline_transaction", hits.eventInfo.eventCategory, NULL)) WITHIN RECORD AS eventCategory,
SUM(IF (hits.eventInfo.eventCategory = "offline_transaction", 1, NULL)) WITHIN RECORD AS eventCnt,
trafficSource.source,
trafficSource.medium
FROM [XXX:YYY.ga_sessions_20160827]
where hits.eventInfo.eventCategory="offline_transaction"
and trafficSource.source="store"
and trafficSource.medium="offline"
这应该会计算该会话中该事件发生的次数。如果不了解您的用例/您希望从表中删除的内容,我不知道如何提供帮助。
我不得不经常使用 aggregate_function()WITHIN RECORD 语法来处理这些类型的问题。