Este é um relatório SQL do painel para visualizações de página consolidadas.
Este relatório SQL fornece uma contagem diária de visualizações de página de usuários logados, usuários anônimos e rastreadores em um site Discourse.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date::date AS "date",
SUM(ar.count) AS "Total Views",
SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views",
SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Logged in User Views",
SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Anonymous User Views"
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date
Explicação da Consulta SQL
A consulta opera na tabela application_requests, que registra vários tipos de solicitações feitas ao fórum. Ela se concentra em três tipos específicos de solicitações identificadas pelos valores req_type:
6: Visualizações de Rastreadores7: Visualizações de Usuários Logados8: Visualizações de Usuários Anônimos
Aqui está uma explicação passo a passo do que a consulta faz:
- Parâmetros: A consulta aceita dois parâmetros,
:start_datee:end_date, permitindo que o usuário especifique o intervalo de datas para o relatório. Ambos os parâmetros de data aceitam o formato de dataAAAA-MM-DD. - Seleção: A consulta seleciona a data da solicitação (
ar.date) e a converte para o tipodate. Ela também calcula o total de visualizações e a divisão de visualizações por tipo (rastreador, usuário logado e usuário anônimo) para cada data dentro do intervalo especificado. - Soma: Ela soma a coluna
countpara cada tipo de visualização. As instruçõesCASEsão usadas para incluir condicionalmente as contagens na soma com base noreq_type. - Filtragem: A cláusula
WHEREfiltra os registros para incluir apenas aqueles com valoresreq_typede 6, 7 ou 8 e com datas que caem entre:start_datee:end_dateespecificados. - Agrupamento: A consulta agrupa os resultados por data, garantindo que as contagens para cada tipo de visualização sejam agregadas por dia.
- Ordenação: Os resultados são ordenados por data para fornecer uma visão cronológica do tráfego.
Resultados de Exemplo
| date | Total Views | Crawler Views | Logged in User Views | Anonymous User Views |
|---|---|---|---|---|
| 2023-11-18 | 5608 | 3052 | 565 | 1928 |
| 2023-11-19 | 9207 | 6564 | 470 | 2273 |
| 2023-11-20 | 6271 | 2631 | 1016 | 2924 |

