2015-02-09 93 views
2

我似乎無法獲得與BigQuery中的Google Analytics Premium相同數量的會話和用戶。如果與Google Analytics中的數字不一致,我使用fullvisitorID計算會話數(次數)和用戶數(唯一次數)?BigQuery數據與谷歌分析

+0

能否請您發佈一些查詢和數字來更好地指導你獲得較少或用戶比很多你的預期。另請注意,「COUNT(DISTINCT)」只是一個近似數字,更多信息請參閱https://cloud.google.com/bigquery/query-reference – Pentium10 2015-02-09 14:02:01

回答

1

更新:BQ現在支持EXACT_COUNT_DISTINCT()函數。


正如@ Pentium10所說,COUNT(DISTINCT x)給出BigQuery上大數字的近似結果。

2的替代品確切的結果:

COUNT(DISTINCT x, 10000) 

給出一個確切的數量不同,如果說計數小於10000變化值高走(慢結果)

SELECT COUNT(*) FROM (
    SELECT x 
    FROM [table] 
    GROUP EACH BY x 
) 

也算明顯值以一種確切的方式。

+0

我使用Simba連接器將數據提取到Alteryx,數據。如果我導出所有fullvisitorID,那麼'count distinct'只是一個近似數字,那麼我應該能夠在一天內測量會話和用戶的數量,或者我看錯了嗎?我應該使用其他措施嗎? – 2015-02-11 12:58:53

2

雖然@Felipe霍法是正確的,COUNT(DISTINCT x,10000)將讓你更精確的數字,它可以可以進一步通過使10000號到達到1,000,000(增強我哪相信是目前最大的「採樣」率:BigQuery Documentation of Count Distinct)。由於沒有很多人在BigQuery中使用Google Anaytics Premium數據,因此這些問題的社區非常小。作爲每天都在BigQuery內使用GA數據的用戶,我可以告訴您,我的研究&驗證顯示,以下指標定義與Google Analytics UnSampled報告會告訴您的內容密切對齊。

會議

count(distinct concat(fullvisitorid, string(visitid)), 1000000) as sessions 

用戶

count(distinct fullvisitorid, 1000000) as users 

新用戶

count(distinct (case when totals.newvisits <> 0 then concat(fullvisitorid, string(visitid)) end), 1000000) as new_users 

個瀏覽量

sum(case when hits.type = "PAGE" then 1 else 0 end) as pageviews 

重複瀏覽

count(distinct (case when hits.type = "PAGE" then concat(fullvisitorid, string(visitid), hits.page.pagepath) end), 1000000) as unique_pageviews 

跳動

count(distinct (case when totals.bounces <> 0 then concat(fullvisitorid, string(visitid)) end), 1000000) as bounces 
+0

更新:BQ現在支持EXACT_COUNT_DISTINCT()函數。 – 2015-07-09 23:06:09