Почему мой общий сеанс (агрегированный с использованием EXTRACT MONTH) меньше общего сеанса, если я разбил его по дате? - PullRequest
1 голос
/ 26 июня 2019

Я пытаюсь сгенерировать общее количество сеансов по месяцам. Я пробовал использовать два разных способа.

  1. Я использую поле date для первого столбца
  2. Я использую поле month, которое извлекается из поля date с использованием EXTRACT(MONTH FROM date) AS month

Я пытался использовать следующий код для 1st:

with 
session1 as(
  select date,
  session_id
  from table
  where date >= '2019-05-20' AND date <= '2019-05-21')

SELECT date_key, COUNT(DISTINCT session_id) AS sessions from session1
GROUP BY 1

Для 2nd, который я пытался использовать этот код:

with 
session1 as(
  select date,
  session_id
  from table
  where date >= '2019-05-20' AND date <= '2019-05-21')

SELECT EXTRACT (MONTH FROM date_key) AS month, COUNT(DISTINCT session_id) AS sessions from session1
GROUP BY 1

Для результата я получил вывод, как показано ниже:

  1. 20 мая: 1548 сессий; 21 мая: 1 471 сессия; Всего: 3 019
  2. май: 2,905

Итак, расхождение в 114 сессиях, и я хотел бы знать, почему.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 26 июня 2019

Для простоты - скажем, есть только один сеанс в течение двух дней подряд.Так что если вы будете считать по дням, а затем суммируете результат - вы получите 2 сеанса, а если вы будете считать разные сеансы за целые два дня - вы получите только 1 сеанс

Надеюсь, это покажет вам причину -Вы рассчитываете несколько сеансов дважды в разные дни - возможно, когда они заканчиваются в конце одного и начинаются на следующий день

0 голосов
/ 27 июня 2019

Следующий запрос должен показать вам, какие session_ids происходят в обе даты.

select session_id, count(distinct date) as num_dates
from table
  where date >= '2019-05-20' AND date <= '2019-05-21'
group by 1
having num_dates > 1

Это либо проблема обработки данных, либо определение вашего сеанса может занимать несколько дней. Google Analytics , например, традиционно завершает сеанс и начинает новый сеанс в полночь.Другие схемы сеансов могут не накладывать это ограничение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...