Este é um relatório de painel em versão SQL para Anônimo.
Este relatório mostra o número de pageviews que um site recebeu diariamente de usuários anônimos (usuários que não estão logados em uma conta) em um intervalo de datas especificado.
--[params]
-- date :start_date = 2023-12-01
-- date :end_date = 2024-01-01
SELECT
date,
SUM(count) AS pageviews
FROM
application_requests
WHERE
req_type = 8
AND date BETWEEN :start_date AND :end_date
GROUP BY
date
ORDER BY
date
Explicação da Consulta SQL
Definição de Parâmetros: A consulta começa definindo dois parâmetros, :start_date e :end_date, que são usados para filtrar os dados para o período de tempo desejado. Ambos os parâmetros de data aceitam o formato de data AAAA-MM-DD.
Seleção de Dados: Seleciona duas colunas, date e a soma de count, que é apelidada de pageviews. O count representa o número de pageviews para cada registro.
Fonte de Dados: Os dados são provenientes da tabela application_requests, que registra vários tipos de solicitações feitas à aplicação.
Filtragem: A cláusula WHERE filtra os registros para incluir apenas aqueles do tipo page_view_anon (req_type = 8) e que estão dentro do intervalo de datas especificado.
Agregação: A cláusula GROUP BY agrupa os resultados por coluna date, o que permite que a função SUM calcule o total de pageviews para cada data.
Ordenação: Finalmente, os resultados são ordenados por date em ordem crescente, fornecendo uma visão cronológica dos pageviews anônimos.
Exemplo de Resultados
date
pageviews
2023-12-01
12345
2023-12-02
11346
2023-12-03
18344
2023-12-04
15344
2023-12-05
12890
…
…
Notas sobre req_type
A coluna req_type na tabela application_requests categoriza o tipo de solicitação. Nesta consulta, estamos interessados em req_type = 8, que corresponde a pageviews anônimos.
Outros valores de req_type representam diferentes tipos de solicitações, como pageviews de rastreadores, pageviews de usuários logados e vários status de resposta HTTP.
Eu também estava considerando isso originalmente, mas o relatório do painel do administrador inclui apenas page_view_anon e não page_view_anon_mobile.
Com a forma como esta consulta está agora, ela é um espelho fiel do relatório do painel, e você pode verificar isso executando a consulta e comparando com os resultados do relatório do painel.
O que levanta uma questão diferente, mas relacionada: o relatório do painel deve incluir visualizações de página anônimas de dispositivos móveis?
Intuitivamente, eu pensaria que sim, mas seria interessante ouvir outras opiniões sobre isso.
Ah, desculpe. Eu deveria ter sido mais específico no meu comentário. Percebi que este era uma réplica exata e quis dizer que o próprio relatório do painel deveria incluí-lo.
Desculpe, é manhã aqui e preciso de mais café, então esbarrei forte na barreira do idioma.
Você está pensando que o total agora deve incluir celulares também, significando que os celulares estão excluídos agora? Ou deve mostrar duas métricas, visualizações totais reais E visualizações de celular?
No momento, o relatório do painel parece incluir apenas o req_type (8), o que significa que ele está contando apenas as visualizações anônimas de desktop.
Estamos nos perguntando por que ele não está contando os dados móveis também (seja como um total, ou como dois números para que você possa vê-lo com mais detalhes).
Não pode ser verdade ou conta bots também. Com isso, tenho cerca de 1000 por dia e isso parece certo. Mas sei que tenho uma quantidade muito pequena de desktops. E a situação em que eu teria 1000 desktops e 9000 celulares (sim, a proporção é essa) não pode ser verdade.
Hmm. Não tenho certeza. Acho que o código está aqui:
Há uma possibilidade de que page_view_anon_mobile seja um subconjunto de page_view_anon. Espero que alguém que saiba ler isso possa contribuir e aconselhar.
Huh. Sim, essa lógica incrementaria page_view_anon independentemente de a visualização da página ser classificada como de um dispositivo móvel. Acho que preciso atualizar algumas consultas . . .