Привет, сообщество!
Случалось ли кому-нибудь написать запрос в Data Explorer для получения ежемесячного числа просмотров страниц?
Есть ли какой-либо другой программный способ получить эти данные, кроме ручного доступа к моей панели управления?
Привет, сообщество!
Случалось ли кому-нибудь написать запрос в Data Explorer для получения ежемесячного числа просмотров страниц?
Есть ли какой-либо другой программный способ получить эти данные, кроме ручного доступа к моей панели управления?
Это запрос для отчёта Consolidated Pageviews, надеюсь, он поможет.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN 'Краулеры'
WHEN ar.req_type=7 THEN 'Авторизованные пользователи'
WHEN ar.req_type=8 THEN 'Анонимные пользователи'
END,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
Этот запрос возвращает общее количество просмотров страниц за указанный период.
-- [params]
-- date :start_date
-- date :end_date
WITH data AS (
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN 'Поисковые роботы'
WHEN ar.req_type=7 THEN 'Авторизованные пользователи'
WHEN ar.req_type=8 THEN 'Анонимные пользователи'
END AS Pageview,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
)
SELECT Pageview, SUM(views) qtt_views
FROM data
GROUP BY Pageview
Отлично! Это именно то, что я искал.
Да, это возможно. В данном случае сначала нужно изменить формат поля даты, а затем настроить группировку. Ниже приведён скорректированный запрос.
-- [params]
-- date :start_date
-- date :end_date
WITH data AS
(SELECT
date_part('month', ar.date) AS month,
date_part('year', ar.date) AS year,
CASE
WHEN ar.req_type=6 THEN 'Crawlers'
WHEN ar.req_type=7 THEN 'Logged in users'
WHEN ar.req_type=8 THEN 'Anonymous users'
END AS pageview,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
)
SELECT
month,
year,
sum(views) AS qtt_views
FROM data
GROUP BY year, month
ORDER BY year DESC, month ASC
| месяц | год | количество |
|---|---|---|
| 1 | 2021 | 1000 |
| 2 | 2021 | 500 |
| 1 | 2020 | 1500 |
| 2 | 2020 | 2000 |
| 3 | 2020 | 2500 |
Отлично! Спасибо за помощь!