Report Dashboard - Email Inviate

Questa è una versione SQL del report della dashboard per le email inviate.

Questo report fornisce una ripartizione giornaliera del numero totale di email inviate dalla piattaforma Discourse all’interno di un intervallo di date specificato. È utile per monitorare l’attività delle email, identificare le tendenze e garantire che il sistema di posta elettronica funzioni correttamente.

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

SELECT
  DATE(created_at) AS date_sent,
  COUNT(*) AS total_emails_sent
FROM email_logs
WHERE created_at BETWEEN :start_date AND :end_date
GROUP BY date_sent
ORDER BY date_sent ASC  

Spiegazione della query SQL

La query SQL è progettata per recuperare il conteggio delle email inviate ogni giorno all’interno di un determinato periodo. Ecco una spiegazione passo passo della query:

Parametri

La query accetta due parametri, :start_date e :end_date, che consentono all’utente di specificare l’intervallo di date per il report. Entrambi i parametri di data accettano il formato data AAAA-MM-GG.

Scomposizione della query

  • DATE(sent_at) AS date_sent: Estrae la parte della data dal timestamp sent_at e denomina la colonna risultante date_sent.
  • COUNT(*) AS total_emails_sent: Conta il numero totale di righe (email) per ogni gruppo, denominando il risultato total_emails_sent.
  • FROM email_logs: Questa clausola indica che i dati verranno recuperati dalla tabella email_logs, che registra ogni istanza di invio di un’email.
  • WHERE sent_at BETWEEN :start_date AND :end_date: Questa clausola filtra i dati per includere solo i record in cui il timestamp sent_at rientra nell’intervallo di date specificato.
  • GROUP BY date_sent: Questa clausola raggruppa i risultati per la data in cui sono state inviate le email. Ciò è necessario affinché la funzione COUNT calcoli il totale al giorno.
  • ORDER BY date_sent ASC: Questa clausola ordina i risultati in ordine crescente per la colonna date_sent, assicurando che il report mostri i dati a partire dalla data più vecchia fino alla più recente nell’intervallo.

Risultati di esempio

date_sent total_emails_sent
2023-11-19 264
2023-11-20 932
2023-11-21 678
2023-11-22 637
2023-11-23 369

Vale la pena notare anche che il periodo predefinito per la conservazione dei log delle e-mail è di 90 giorni, ma può essere modificato utilizzando l’impostazione amministrativa delete email logs after days (con l’opzione di impostarla su 0 per conservarli indefinitamente).

Nel caso in cui qualcuno si stesse chiedendo perché la visualizzazione dell’anno scorso non funzionasse. :slight_smile:

1 Mi Piace