Report Dashboard - Pageview consolidate con rilevamento del browser

Questa è una versione SQL del Report della Dashboard per le Visualizzazioni di Pagina Consolidate con Rilevamento del Browser.

Questo report di Data Explorer fornisce una visualizzazione delle visualizzazioni di pagina giornaliere con rilevamento del browser in un intervallo di date specificato. Le visualizzazioni di pagina sono categorizzate in quattro tipi:

  • Browser con accesso effettuato
  • Browser anonimo
  • Crawler noto
  • Altre visualizzazioni di pagina
-- [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 "Logged In Browser",
  SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser",
  SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler",
  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 "Other pageviews"
FROM
  application_requests ar
WHERE
  ar.date::date >= :start_date
  AND ar.date <= :end_date
GROUP BY
  ar.date
ORDER BY
  ar.date ASC

Spiegazione della query SQL

  • Parametri:
    • :start_date - La data di inizio per il report.
    • :end_date - La data di fine per il report.
    • Entrambi i parametri di data accettano il formato data AAAA-MM-GG.
  • Clausola SELECT:
    • ar.date::date AS "date": Converte il campo date in tipo data e lo etichetta come “date”.
    • SUM(CASE WHEN ar.req_type = 15 THEN count ELSE 0 END) AS "Logged In Browser": Somma i conteggi in cui req_type è 15, etichettando il risultato come “Logged In Browser”.
    • SUM(CASE WHEN ar.req_type = 13 THEN count ELSE 0 END) AS "Anonymous Browser": Somma i conteggi in cui req_type è 13, etichettando il risultato come “Anonymous Browser”.
    • SUM(CASE WHEN ar.req_type = 6 THEN count ELSE 0 END) AS "Known Crawler": Somma i conteggi in cui req_type è 6, etichettando il risultato come “Known Crawler”.
    • 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 "Other pageviews": Somma i conteggi per altri tipi di richieste, regolando i conteggi per req_type 13 e 15 sottraendoli, ed etichetta il risultato come “Other pageviews”.
  • Clausola FROM:
    • FROM application_requests ar: Specifica la tabella application_requests come origine dei dati, aliasandola come ar.
  • Clausola WHERE:
    • ar.date::date >= :start_date AND ar.date <= :end_date: Filtra i record per includere solo quelli in cui la date rientra nell’intervallo specificato :start_date e :end_date.
  • Clausola GROUP BY:
    • GROUP BY ar.date: Raggruppa i risultati per il campo date per aggregare i conteggi per ogni giorno.
  • Clausola ORDER BY:
    • ORDER BY ar.date ASC: Ordina i risultati in ordine crescente per il campo date.

Risultati

I risultati di questa query forniranno una ripartizione giornaliera delle visualizzazioni di pagina categorizzate per tipo di browser o crawler. Ogni riga nel set di risultati conterrà:

  • date: La data specifica.
  • Logged In Browser: Il conteggio totale delle visualizzazioni di pagina dagli utenti con accesso effettuato.
  • Anonymous Browser: Il conteggio totale delle visualizzazioni di pagina dagli utenti anonimi.
  • Known Crawler: Il conteggio totale delle visualizzazioni di pagina dai crawler noti.
  • Other pageviews: Il conteggio totale di altri tipi di visualizzazioni di pagina.

Esempio di risultati

date Logged In Browser Anonymous Browser Known Crawler Other pageviews
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 Mi Piace

Strano. Ottengo zero per entrambi i browser. Vengono contati solo i bot.

Il report della dashboard “Visualizzazioni di pagina consolidate con rilevamento del browser” mostra solo i bot?

Intendi quello sperimentale? Funziona e mostra tutto bene.

Questo report è stato aggiunto a Discourse il 25 aprile 2024 e non mostrerà risultati per le viste Logged In Browser o Anonymous Browser precedenti a tale data.

Se mancano risultati per le viste Logged In Browser o Anonymous Browser dopo il 25 aprile 2024, dovrai aggiornare la tua istanza di Discourse all’ultima versione.

Mi chiedevo perché lo snippet SQL non mostrasse le viste degli utenti, solo dei bot. E poi ho provato giugno. Inoltre sì, la mia istanza viene aggiornata tipo tre volte a settimana :winking_face_with_tongue:

(Maledette tastiere virtuali… troppo facile toccare i posti sbagliati :smirking_face: :man_facepalming:)

Ma ho ricostruito senza data explorer e subito dopo con esso, e i numeri sono arrivati.

Quindi, questo rimarrà come un altro caso dalla zona crepuscolare, immagino. È possibile un problema di cache con SQL :flushed_face: