Rapporto Dashboard - Utenti Coinvolti Giornalieri

Questo è una versione SQL del Report della Bacheca per gli Utenti Attivi Giornalieri.

Il report SQL conterà il numero di utenti unici che hanno messo “mi piace” o pubblicato su un sito ogni giorno.

--[params]
-- date :start_date
-- date :end_date

SELECT 
  ua.created_at::date AS day,
  COUNT(DISTINCT ua.user_id) AS engaged_users
FROM user_actions ua
INNER JOIN topics t on t.id = ua.target_topic_id
WHERE ua.created_at::date BETWEEN :start_date AND :end_date
    AND ua.action_type IN (1, 4, 5, 12)
GROUP BY ua.created_at::date
ORDER BY ua.created_at::date ASC 

Dettaglio della Query:

  • Parametri Data: La query accetta due parametri data, :start_date e :end_date, che consentono di specificare l’intervallo per il report.
  • Selezione: Seleziona la data dell’azione (ua.created_at::date) e conta gli ID utente distinti (COUNT(DISTINCT ua.user_id)) che hanno eseguito le azioni, soprannominando questo conteggio come engaged_users.
  • Origine Dati: La query estrae dalla tabella user_actions (ua) e la unisce con la tabella topics (t) per concentrarsi sulle azioni relative agli argomenti.
  • Tipi di Azione: Filtra le azioni per includere solo quelle con i tipi 1, 4, 5 e 12. Questi tipi di azione corrispondono alle seguenti attività specifiche:
    • 1: Mi piace
    • 4: Nuovo Argomento
    • 15: Risposta
    • 12: Nuovo Messaggio Privato
  • Raggruppamento e Ordinamento: I risultati sono raggruppati per data dell’azione e ordinati in ordine crescente, fornendo una visualizzazione cronologica dell’attività.

Risultati di Esempio

day engaged_users
2023-01-01 136
2023-01-02 124
2023-01-03 187
2023-01-04 287
2023-01-05 110
2023-01-06 95
2023-01-07 73
5 Mi Piace

Questo è piuttosto interessante quando lo si vede esposto. Sarebbe bello avere magari una versione che includesse Reazioni e Voti (sondaggi, voti per argomento, voti per post - magari anche commenti di voto per post). :thinking:

2 Mi Piace