Я не вижу этих данных в отчётах. Я использую плагин Data Explorer. Какой запрос позволил бы получить количество просмотров страниц только для наших пользователей за неделю, исключая активность поисковых роботов и сотрудников нашего форума, но включая анонимные просмотры страниц?
Сработает ли что-то вроде этого?
Будет ли это учитывать анонимные просмотры?
Также, есть ли способ преобразовать это в отчёт?
-- [params]
-- string :date = '2020-01-01'
WITH t AS (
SELECT date(:date) AS START
),
f AS (
SELECT id as user_id
FROM users u
WHERE u.moderator = 'True' or u.admin = 'True'
)
SELECT
date_part('year', viewed_at) as year,
date_part('week', viewed_at) as week,
COUNT(topic_id) AS topics_viewed
FROM topic_views, t
WHERE viewed_at > t.START
AND user_id not in (select f.user_id from f)
GROUP BY year, week
ORDER BY year, week
Да, в текущем виде он учитывает анонимные просмотры. Для анонимных просмотров тем user_id будет NULL, а ip_address — NOT NULL. Вы можете исключить анонимные просмотры, добавив к запросу следующее условие:
Так, что-то вроде этого? Тогда будет ли IP-адрес равен NULL для краулеров?
Мне нужно включить:
анонимных посетителей
авторизованных пользователей
Мне нужно исключить:
краулеров
сотрудников
-- [params]
-- string :date = '2020-01-01'
-- boolean :staff = false
WITH t AS (
SELECT date(:date) AS START
),
f AS (
SELECT id as user_id
FROM users u
WHERE u.moderator = 'True' or u.admin = 'True'
)
SELECT
user_id,
-- date_part('year', viewed_at) as year,
-- date_part('week', viewed_at) as week,
COUNT(topic_id) AS topics_viewed
FROM topic_views, t
WHERE viewed_at > t.START
AND ((ip_address is not null AND user_id is NULL) OR
user_id not in (select f.user_id from f))
GROUP BY user_id
ORDER BY topics_viewed DESC
-- GROUP BY year, week
-- ORDER BY year, week
Отчет «Просмотры страниц» выполняет запрос к таблице application_requests. Однако эта таблица не предоставляет данных для фильтрации просмотров сотрудников. Возвращаемые данные представляют собой сумму количества запросов каждого типа в день. Поле req_type возвращается в виде целого числа. Целые числа сопоставляются с типами запросов по следующим правилам:
Таблица topic_views, используемая в вашем запросе, возвращает не более одной записи на пользователя или IP-адрес в день на тему. Эти данные нельзя использовать для отслеживания просмотров страниц, поскольку на один просмотр темы может приходиться несколько запросов к приложению.
Понятно. То есть исключить пользователей из числа сотрудников для получения точных показателей PV невозможно.
Надеюсь на чудо, но возможно ли исключить определённые категории (я предполагаю, что нет)? У нас есть некоторые приватные категории, доступные только внутренней команде, и мы не хотим, чтобы они искажали наши показатели PV пользователей.
Я не вижу способа исключить сотрудников из данных, предоставляемых таблицей application_requests. Также невозможно отфильтровать результаты этой таблицы по категории. Если вы пытаетесь получить данные об использовании вашего сайта, таблица topic_views, которую вы используете в своем исходном запросе, предоставит точную информацию о том, как используется ваш сайт, однако эти данные не будут совпадать с тем, что вы видите в отчете «Просмотры страниц».