Rapport tableau de bord - Vues de page consolidées avec détection de navigateur

Ceci est une version SQL du rapport de tableau de bord pour les vues de page consolidées avec détection de navigateur.

Ce rapport Data Explorer fournit une vue des vues de page quotidiennes du site avec détection de navigateur sur une période spécifiée. Les vues de page sont classées en quatre types :

  • Navigateur connecté
  • Navigateur anonyme
  • Robot connu
  • Autres vues de page
-- [params]
-- date :start_date
-- date :end_date

SELECT
  ar.date::date AS "date",
  SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Navigateur connecté",
  SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Navigateur anonyme",
  SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Robot connu",
  SUM(
    CASE WHEN ar.req_type = 8 THEN count
        WHEN ar.req_type = 7 THEN count
        WHEN ar.req_type = 13 THEN -count
        WHEN ar.req_type = 15 THEN -count
        ELSE 0
    END
  ) AS "Autres vues de page"
FROM
  application_requests ar
WHERE
  ar.date::date >= :start_date
  AND ar.date <= :end_date
GROUP BY
  ar.date
ORDER BY
  ar.date ASC

Explication de la requête SQL

  • Paramètres :
    • :start_date - La date de début du rapport.
    • :end_date - La date de fin du rapport.
    • Les deux paramètres de date acceptent le format de date AAAA-MM-JJ.
  • Clause SELECT :
    • ar.date::date AS "date" : Convertit le champ date en type date et le nomme « date ».
    • SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Navigateur connecté" : Additionne les comptes où req_type est 15, nommant le résultat « Navigateur connecté ».
    • SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Navigateur anonyme" : Additionne les comptes où req_type est 13, nommant le résultat « Navigateur anonyme ».
    • SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Robot connu" : Additionne les comptes où req_type est 6, nommant le résultat « Robot connu ».
    • SUM(CASE WHEN ar.req_type = 8 THEN count WHEN ar.req_type = 7 THEN count WHEN ar.req_type = 13 THEN -count WHEN ar.req_type = 15 THEN -count ELSE 0 END) AS "Autres vues de page" : Additionne les comptes pour d’autres types de requêtes, ajustant les comptes pour req_type 13 et 15 en les soustrayant, et nomme le résultat « Autres vues de page ».
  • Clause FROM :
    • FROM application_requests ar : Spécifie la table application_requests comme source des données, en l’aliasant ar.
  • Clause WHERE :
    • ar.date::date >= :start_date AND ar.date <= :end_date : Filtre les enregistrements pour inclure uniquement ceux où la date se situe dans la plage spécifiée :start_date et :end_date.
  • Clause GROUP BY :
    • GROUP BY ar.date : Regroupe les résultats par le champ date pour agréger les comptes de chaque jour.
  • Clause ORDER BY :
    • ORDER BY ar.date ASC : Ordonne les résultats par ordre croissant selon le champ date.

Résultats

Les résultats de cette requête fourniront une ventilation quotidienne des vues de page classées par type de navigateur ou de robot. Chaque ligne de l’ensemble de résultats contiendra :

  • date : La date spécifique.
  • Navigateur connecté : Le nombre total de vues de page provenant d’utilisateurs connectés.
  • Navigateur anonyme : Le nombre total de vues de page provenant d’utilisateurs anonymes.
  • Robot connu : Le nombre total de vues de page provenant de robots connus.
  • Autres vues de page : Le nombre total d’autres types de vues de page.

Exemple de résultats

date Navigateur connecté Navigateur anonyme Robot connu Autres vues de page
2024-05-02 1238 1085 2727 3983
2024-05-03 1039 1068 5718 3958
2024-05-04 572 628 3847 3761
2024-05-05 447 551 2093 3773
2 « J'aime »

Étrange. J’obtiens zéro pour les deux navigateurs. Seuls les bots sont comptés.

Le rapport du tableau de bord « Vues de page consolidées avec détection de navigateur » n’affiche-t-il également que les robots ?

Vous parlez de celui qui est expérimental ? Il fonctionne et affiche tout joliment.

Ce rapport a été ajouté à Discourse le 25 avril 2024 et n’affichera pas de résultats pour les vues Logged In Browser ou Anonymous Browser avant cette date.

Si des résultats manquent pour les vues Logged In Browser ou Anonymous Browser après le 25 avril 2024, vous devrez mettre à jour votre instance Discourse vers la dernière version.

Je me demandais pourquoi le snippet SQL n’affichait pas les vues par les utilisateurs, seulement par les bots. Et puis j’ai essayé juin. De plus oui, mon instance est mise à niveau comme trois fois par semaine :winking_face_with_tongue:

(Maudits claviers virtuels… trop facile d’appuyer au mauvais endroit :smirking_face: :man_facepalming:)

Mais j’ai reconstruit sans l’explorateur de données et juste après avec, et les chiffres sont arrivés.

Donc, je suppose que cela restera un autre cas de la zone crépusculaire. Un problème de mise en cache est-il possible avec SQL :flushed_face: