Ceci est une version SQL du rapport de tableau de bord pour Anonyme.
Ce rapport montre le nombre de pages vues qu’un site a reçues chaque jour de la part d’utilisateurs anonymes (utilisateurs qui ne sont pas connectés à un compte) sur une période de dates spécifiée.
--[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
Explication de la requête SQL
Définition des paramètres : La requête commence par définir deux paramètres, :start_date et :end_date, qui sont utilisés pour filtrer les données sur la période souhaitée. Les deux paramètres de date acceptent le format de date AAAA-MM-JJ.
Sélection des données : Elle sélectionne deux colonnes, date et la somme de count, qui est aliasée en pageviews. Le count représente le nombre de pages vues pour chaque enregistrement.
Source des données : Les données proviennent de la table application_requests, qui enregistre différents types de requêtes effectuées auprès de l’application.
Filtrage : La clause WHERE filtre les enregistrements pour inclure uniquement ceux de type page_view_anon (req_type = 8) et qui se situent dans la plage de dates spécifiée.
Agrégation : La clause GROUP BY regroupe les résultats par la colonne date, ce qui permet à la fonction SUM de calculer le total des pages vues pour chaque date.
Tri : Enfin, les résultats sont triés par date dans l’ordre croissant, offrant une vue chronologique des pages vues anonymes.
Exemple de résultats
date
pageviews
2023-12-01
12345
2023-12-02
11346
2023-12-03
18344
2023-12-04
15344
2023-12-05
12890
…
…
Notes sur req_type
La colonne req_type dans la table application_requests catégorise le type de requête. Dans cette requête, nous nous intéressons à req_type = 8, qui correspond aux pages vues anonymes.
D’autres valeurs de req_type représentent différents types de requêtes, tels que les pages vues par les robots d’exploration, les pages vues par les utilisateurs connectés et divers statuts de réponse HTTP.
J’envisageais cela aussi à l’origine, mais le rapport du tableau de bord administrateur n’inclut que page_view_anon et non page_view_anon_mobile.
Avec la façon dont cette requête est maintenant, elle est un véritable reflet du rapport du tableau de bord, et vous pouvez le vérifier en exécutant la requête et en la comparant aux résultats du rapport du tableau de bord.
Ce qui soulève une question différente, mais connexe : le rapport du tableau de bord devrait-il inclure les vues de page anonymes sur mobile ?
Intuitivement, je penserais que oui, mais il serait intéressant d’entendre d’autres avis à ce sujet.
Ah, désolé. J’aurais dû être plus précis dans mon commentaire. J’ai bien noté que celui-ci était une réplique exacte et je voulais dire que le rapport du tableau de bord lui-même devrait l’inclure.
Désolé, c’est le matin ici et j’ai besoin de plus de café, alors j’ai heurté un mur linguistique.
Pensez-vous que le total devrait également inclure les mobiles, signifiant que les mobiles sont exclus maintenant ? Ou devrait-il afficher deux métriques, le total des vues réelles ET les vues mobiles ?
Pour le moment, le rapport du tableau de bord ne semble inclure que le req_type (8), ce qui signifie qu’il ne compte que les vues anonymes sur ordinateur.
Nous nous demandons pourquoi il ne compte pas également les données mobiles (soit comme un total, soit comme deux nombres afin que vous puissiez les voir plus en détail).
Ce n’est pas possible, ou alors cela compte aussi les bots. Si c’est le cas, j’en ai environ 1000 par jour, ce qui semble plausible. Mais je sais que j’ai très peu de postes de bureau. Et dans une situation où j’aurais 1000 postes de bureau et 9000 mobiles (oui, le ratio est celui-ci), ce ne peut pas être vrai.
Hmm. Je ne suis pas sûr. Je pense que le code se trouve ici :
Il est possible que page_view_anon_mobile soit un sous-ensemble de page_view_anon. J’espère que quelqu’un qui sait lire ceci pourra apporter son aide et donner des conseils.
Huh. Oui, cette logique incrémenterait page_view_anon que la vue de page soit classée comme provenant d’un appareil mobile ou non. Je pense que je dois mettre à jour certaines requêtes . . .