Report della Dashboard - Anonimo

Questa è una versione SQL del Report della Dashboard per Anonimo.

Questo report mostra il numero di visualizzazioni di pagina che un sito ha ricevuto ogni giorno da utenti anonimi (utenti che non hanno effettuato l’accesso a un account) in un intervallo di date specificato.

--[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

Spiegazione della query SQL

  • Definizione dei parametri: La query inizia definendo due parametri, :start_date e :end_date, che vengono utilizzati per filtrare i dati nell’intervallo di tempo desiderato. Entrambi i parametri di data accettano il formato data AAAA-MM-GG.
  • Selezione dei dati: Seleziona due colonne, date e la somma di count, che viene rinominata pageviews. Il count rappresenta il numero di visualizzazioni di pagina per ogni record.
  • Origine dati: I dati provengono dalla tabella application_requests, che registra vari tipi di richieste effettuate all’applicazione.
  • Filtraggio: La clausola WHERE filtra i record per includere solo quelli di tipo page_view_anon (req_type = 8) e che rientrano nell’intervallo di date specificato.
  • Aggregazione: La clausola GROUP BY raggruppa i risultati per la colonna date, consentendo alla funzione SUM di calcolare il totale delle visualizzazioni di pagina per ogni data.
  • Ordinamento: Infine, i risultati vengono ordinati per date in ordine crescente, fornendo una visualizzazione cronologica delle visualizzazioni di pagina anonime.

Esempio di risultati

date pageviews
2023-12-01 12345
2023-12-02 11346
2023-12-03 18344
2023-12-04 15344
2023-12-05 12890

Note su req_type

La colonna req_type nella tabella application_requests categorizza il tipo di richiesta. In questa query, siamo interessati a req_type = 8, che corrisponde alle visualizzazioni di pagina anonime.

Altri valori di req_type rappresentano diversi tipi di richieste, come visualizzazioni di pagina da crawler, visualizzazioni di pagina da utenti connessi e vari stati di risposta HTTP.

Tutti i valori di req_type:

0. http_total
1. http_2xx
2. http_background
3. http_3xx
4. http_4xx
5. http_5xx
6. page_view_crawler
7. page_view_logged_in
8. page_view_anon
9. page_view_logged_in_mobile
10. page_view_anon_mobile
11. api
12. user_api
3 Mi Piace

Questo dovrebbe essere req_type IN (8,10) per includere anche i numeri di cellulare?

1 Mi Piace

Stavo considerando anche quello, ma il report della dashboard dell’amministratore include solo page_view_anon e non page_view_anon_mobile.

Con il modo in cui questa query è ora, è un vero specchio del report della dashboard e puoi verificarlo eseguendo la query e confrontando i risultati con quelli del report della dashboard.

Il che solleva una domanda diversa, ma correlata: il report della dashboard dovrebbe includere le visualizzazioni di pagina anonime da dispositivi mobili?

Intuitivamente, penserei di sì, ma sarebbe interessante sentire altre opinioni al riguardo.

1 Mi Piace

Non riesco a pensare a un motivo per non includerli.

2 Mi Piace

Ah, scusa. Avrei dovuto essere più specifico nel mio commento. Ho notato che questo era una replica esatta e intendevo dire che il report della dashboard stesso dovrebbe includerlo. :pray:

1 Mi Piace

Mi dispiace, qui è mattina e ho bisogno di più caffè, quindi ho sbattuto duramente contro il muro della lingua.

Stai pensando che ora il totale dovrebbe includere anche i cellulari, nel senso che i cellulari sono esclusi ora? O dovrebbe mostrare due metriche, visualizzazioni totali effettive E visualizzazioni da cellulare?

Al momento, il report della dashboard sembra includere solo il req_type (8), il che significa che conta solo le visualizzazioni anonime da desktop.

Ci stiamo chiedendo perché non vengano conteggiati anche i dati da dispositivi mobili (o come totale, o come due numeri in modo da poterli visualizzare in modo più dettagliato).

Non può essere vero o conta anche i bot. Con questi numeri avrei circa 1000 al giorno e sembra corretto. Ma so di avere pochissimi computer desktop. E una situazione in cui avrei 1000 desktop e 9000 dispositivi mobili (sì, il rapporto è questo) non può essere vera.

Hmm. Non sono sicuro. Penso che il codice sia qui:

C’è la possibilità che page_view_anon_mobile sia un sottoinsieme di page_view_anon. Spero che qualcuno che sappia leggere questo possa intervenire e dare consigli. :slight_smile: :crossed_fingers:

3 Mi Piace

Huh. Sì, quella logica incrementerebbe page_view_anon indipendentemente dal fatto che la visualizzazione della pagina sia classificata come da un dispositivo mobile. Penso di dover aggiornare alcune query . . .

1 Mi Piace