Big Query - разное количество пользователей при использовании устаревшего и обычного sql - PullRequest
0 голосов
/ 03 декабря 2018

Я написал запрос в Большой запрос Google и хочу получить такое же количество пользователей, какое я вижу в Google Analytics.Я использовал Legacy и Normal SQL и получил 3 разных номера пользователей, в то время как сессии были одинаковыми.Что я сделал не так, или у кого-нибудь есть объяснение / решение для этого?Мы ценим любую помощь!

Обычный SQL

SELECT COUNT(DISTINCT fullVisitorId) AS users, SUM(IF(totals.visits IS 
NULL,0,totals.visits)) AS sessions
FROM `XXX.XXX.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20181120' AND '20181120'

Устаревший SQL

SELECT COUNT(DISTINCT fullVisitorId) AS users, SUM(IF(totals.visits IS 
NULL,0,totals.visits)) AS sessions
FROM TABLE_DATE_RANGE([XXX:XXX.ga_sessions_], TIMESTAMP('2018-11-20'), 
TIMESTAMP('2018-11-20'))

1 Ответ

0 голосов
/ 03 декабря 2018

Я думаю, что это предупреждение из документации объясняет, что происходит:

В устаревшем SQL COUNT (DISTINCT x) возвращает приблизительное число.В стандартном SQL он возвращает точное число.

StandardSQL имеет правильный номер.Вы можете проверить это, попытавшись использовать EXACT_COUNT_DISTINCT() в устаревшем SQL.

...