E aí, comunidade!
Por acaso alguém já escreveu uma consulta usando o Data Explorer para buscar o número de visualizações de página mensais?
Existe alguma outra maneira programática de obter esses números além de acessar meu painel manualmente?
E aí, comunidade!
Por acaso alguém já escreveu uma consulta usando o Data Explorer para buscar o número de visualizações de página mensais?
Existe alguma outra maneira programática de obter esses números além de acessar meu painel manualmente?
Esta é a consulta por trás do relatório Consolidated Pageviews, espero que ajude.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN 'Crawlers'
WHEN ar.req_type=7 THEN 'Usuários logados'
WHEN ar.req_type=8 THEN 'Usuários anônimos'
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
Esta consulta lista o número total de visualizações de página no período.
-- [params]
-- date :start_date
-- date :end_date
WITH data AS (
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN 'Robôs de indexação'
WHEN ar.req_type=7 THEN 'Usuários logados'
WHEN ar.req_type=8 THEN 'Usuários anônimos'
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
Perfeito! Era isso que eu estava procurando.
Na verdade, tenho mais uma pergunta. Talvez isso não seja muito trabalhoso.
Existe uma maneira de obter os resultados no formato a seguir usando sum:
Sim, é possível. Neste caso, você precisa ajustar primeiro o formato do campo de data e, em seguida, ajustar o agrupamento. Abaixo está a consulta ajustada.
-- [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
| month | year | count |
|---|---|---|
| 1 | 2021 | 1000 |
| 2 | 2021 | 500 |
| 1 | 2020 | 1500 |
| 2 | 2020 | 2000 |
| 3 | 2020 | 2500 |
Perfeito! Obrigado pela ajuda!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.