Сумма просмотров страниц по массиву - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь решить проблему уже пару дней, но я полностью застрял:

  • У меня есть базовая таблица просмотров страниц c из Snowplow Analytics , Я создаю сессионный стол из этого. В этой таблице есть массивы для структурирования моих данных.

  • Теперь, когда я делаю сумму (count_page_views), итоги верны.

  • Как только Я добавляю дату измерения даты (session_start), сумма для этого дня совершенно неверна.

Вот как должна выглядеть таблица. (Подсчет различен по идентификатору просмотра страницы)

Right data

Вот как это выглядит с моей сессионной таблицей SQL: Wrong data

Я почти уверен, что неправильно понимаю способ суммирования массивов и array_length, но я понятия не имею, что не так ...

SQL для сеансового стола

with all_page_views as (
  select
    *
  from
    `page_views_table`

),
sessions_agg as (
  select
    pv.session_id,
    array_agg(
      pv
      order by
        pv.page_view_in_session_index
    ) as all_pageviews
  from
    all_page_views as pv
  group by
    1
),
sessions_agg_xf as (
  select
    session_id,
    all_pageviews,
    (
      select
        struct(
          min(page_view_start) as session_start,
          max(page_view_end) as session_end
        )
      from
        unnest(all_pageviews)
    ) as timing
  from
    sessions_agg
),
sessions as (
  select
    timing.session_start,
    timing.session_end,
    array_length(all_pageviews) as count_page_views
  from
    sessions_agg_xf
)
select
  sum(count_page_views )
from
  sessions

  where date(session_start) = "2020-02-01"

1 Ответ

1 голос
/ 07 марта 2020

Мне кажется, я нашел проблему где-то еще. В Snowplow произошла ошибка, из-за которой идентификатор сессии не сбрасывался, поэтому у меня неправильная сессия ...

https://github.com/snowplow/snowplow-javascript-tracker/issues/718

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