Aan de slagBegin gratis

Maand-op-maandvergelijking

Om maanden te vergelijken, moet je een van de volgende windowfuncties gebruiken:

  • LAG(value, offset), waarmee je een waarde uit een offset-aantal rijen vóór de huidige rij in het rapport ophaalt.
  • LEAD(value, offset), waarmee je een waarde uit een offset-aantal rijen de huidige rij in het rapport ophaalt.

Je doel is een rapport te bouwen dat per land de maand-op-maandweergaven laat zien. Enkele tips:

  • Je moet datums in maanden groeperen. Gebruik hiervoor de functie DATE_PART().
  • Je kunt de procentuele verandering berekenen met de volgende formule: (value)/(previous_value) - 1.
  • Als er geen offset-waarde is meegegeven aan de functies LAG() of LEAD(), is de standaardwaarde 1.

Omdat de tabel halverwege juni stopt, is de query zo opgezet dat alleen data tot en met eind mei wordt meegenomen.

Deze oefening maakt deel uit van de cursus

Rapporteren in SQL

Bekijk cursus

Oefeninstructies

  • Haal uit web_data de country_id op en gebruik een DATE_PART()-functie om month te maken.
  • Maak month_views dat het totale aantal weergaven binnen de maand ophaalt.
  • Maak previous_month_views dat het totale aantal weergaven van vorige maand voor het betreffende land ophaalt.
  • Maak het veld perc_change dat de procentuele verandering van deze maand ten opzichte van vorige maand voor het betreffende land berekent, waarbij een negatieve waarde een daling in weergaven aangeeft en een positieve waarde groei.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 ____;
Code bewerken en uitvoeren