BaşlayınÜcretsiz başlayın

Kullanıcı gelirlerini aya göre pivotlama

Sırada, Eve sana üst düzey yöneticilerin taraması daha kolay olduğu için uzun tablolar yerine geniş tabloları tercih ettiğini söylüyor. Haziran–Ağustos 2018 arasında ilk 5 kullanıcı kimliğinin gelirlerini ayrıntılandıran, kullanıcı gelirlerinin aya göre örnek bir raporunu hazırlamış. Yöneticiler tablonun ay bazında pivotlanmasını istemiş. Bu görevi sana devretti.

Kullanıcı ID'sinin satır, 2018 Haziran'dan Ağustos'a kadar her ayın sütun olduğu şekilde, kullanıcı gelirlerini aya göre sorguyu pivotla.

Bu egzersiz, kursun bir parçasıdır

SQL ile İş Verilerini Analiz Etme

Kursa Göz Atın

Egzersiz talimatları

  • tablefunc içinden CROSSTAB()'ı etkinleştir.
  • Yeni pivot tablonun sütunlarını tanımla: kullanıcı ID'si ve operasyonun ilk üç ayı.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- 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;
Kodu Düzenle ve Çalıştır