IniziaInizia gratis

Confronto mese su mese

Per confrontare i mesi, devi usare una delle seguenti funzioni finestra:

  • LAG(value, offset), che restituisce un valore di un numero di righe offset precedenti alla riga corrente nel report.
  • LEAD(value, offset), che restituisce un valore di un numero di righe offset successive alla riga corrente nel report.

Il tuo obiettivo è creare un report che mostri, per ciascun paese, le visualizzazioni mese su mese. Qualche suggerimento:

  • Dovrai raggruppare le date per mese. Per farlo, puoi usare la funzione DATE_PART().
  • Puoi calcolare la variazione percentuale con la seguente formula: (value)/(previous_value) - 1.
  • Se non specifichi un valore di offset nelle funzioni LAG() o LEAD(), il valore predefinito è 1.

Poiché la tabella si interrompe a metà giugno, la query è configurata per includere solo i dati fino alla fine di maggio.

Questo esercizio fa parte del corso

Reportistica in SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Da web_data, estrai country_id e usa la funzione DATE_PART() per creare month.
  • Crea month_views che calcoli il totale delle visualizzazioni all'interno del mese.
  • Crea previous_month_views che recuperi il totale delle visualizzazioni del mese scorso per il paese indicato.
  • Crea il campo perc_change che calcoli la variazione percentuale di questo mese rispetto al mese scorso per il paese indicato, dove un valore negativo rappresenta una diminuzione delle visualizzazioni e un valore positivo rappresenta una crescita.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

SELECT
	-- Pull month and country_id
	____ AS month,
	____,
    -- Pull in current month views
    ____ AS month_views,
    -- Pull in last month views
    ____ AS previous_month_views,
    -- Calculate the percent change
    ____ AS perc_change
FROM ____
WHERE date <= '2018-05-31'
GROUP BY ____;
Modifica ed esegui il codice