Я новичок в bigquery и довольно рано в своем путешествии по SQL. У меня есть SQL-запрос, целью которого является возврат всех посещений, зарегистрированных для этой конкретной страны определенного домена. Страна определяется комбинацией указаний на hits.customDimensions.index и hits.customDimensions.value, а также на узле страницы Я хочу иметь возможность возвращать общее количество посещений по стране. Однако мой код ниже дает мои полностью завышенные числа для каждой страны. Может ли кто-нибудь помочь мне с моей изворотливой агрегацией?Bigquery - как я могу выбрать поля, которые находятся в моем месте where, а не константы?
SELECT
date,
hits.customDimensions.index,
hits.customDimensions.value,
SUM(totals.visits) AS totals_visits
FROM (TABLE_DATE_RANGE([95212100.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -1, 'MONTH'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))
WHERE
hits.page.hostname = 'www.xxxx.com' AND ((hits.customDimensions.index=5
AND hits.customDimensions.value='US') OR (hits.customDimensions.index=5
AND hits.customDimensions.value='UK') OR ((hits.customDimensions.index=5
AND hits.customDimensions.value='India')))
GROUP BY date, hits.customDimensions.index, hits.customDimensions.value
Запрос выглядит нормально, единственная причина, почему totals_visits будут раздуты, если у вас было несколько hits.customDimensions для каждого посещения, - то он будет посчитаться несколько раз по этому запросу. –
Отличное объяснение - thenk you. Я понимаю, что я смешивал подробности данных здесь! –