Aan de slagBegin gratis

Omzetten van gebruikersomzet per maand

Vervolgens vertelt Eve je dat de C-level executives brede tabellen boven lange verkiezen, omdat die makkelijker te scannen zijn. Ze heeft een voorbeeldrapport gemaakt van gebruikersomzet per maand, met de omzet van de eerste 5 gebruikers-ID’s van juni tot en met augustus 2018. De executives hebben haar gevraagd de tabel per maand te pivoteren. Die taak heeft ze aan jou overgedragen.

Pivot de query voor gebruikersomzet per maand zodat de gebruikers-ID een rij is en elke maand van juni tot en met augustus 2018 een kolom.

Deze oefening maakt deel uit van de cursus

Zakelijke data analyseren in SQL

Bekijk cursus

Oefeninstructies

  • Schakel CROSSTAB() in vanuit tablefunc.
  • Declareer de kolommen van de nieuwe draaitabel: gebruikers-ID en de eerste drie maanden van operatie.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

-- Import tablefunc
CREATE EXTENSION IF NOT EXISTS ___;

SELECT * FROM CROSSTAB($$
  SELECT
    user_id,
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    SUM(meal_price * order_quantity) :: FLOAT AS revenue
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
 WHERE user_id IN (0, 1, 2, 3, 4)
   AND order_date < '2018-09-01'
 GROUP BY user_id, delivr_month
 ORDER BY user_id, delivr_month;
$$)
-- Select user ID and the months from June to August 2018
AS ct (___ INT,
       ___ FLOAT,
       ___ FLOAT,
       ___ FLOAT)
ORDER BY user_id ASC;
Code bewerken en uitvoeren