Perbandingan dari bulan ke bulan
Untuk membandingkan bulan, Anda perlu menggunakan salah satu window function berikut:
LAG(value, offset), yang menghasilkan nilai dari sejumlah offset baris sebelum baris saat ini dalam laporan.LEAD(value, offset), yang menghasilkan nilai dari sejumlah offset baris setelah baris saat ini dalam laporan.
Tujuan Anda adalah membuat laporan yang menampilkan tampilan (views) tiap negara dari bulan ke bulan. Beberapa kiat:
- Anda perlu mengelompokkan tanggal ke dalam bulan. Untuk itu, Anda dapat menggunakan fungsi
DATE_PART(). - Anda dapat menghitung persentase perubahan dengan rumus:
(value)/(previous_value) - 1. - Jika nilai offset tidak disertakan dalam fungsi
LAG()atauLEAD(), nilainya akan default ke 1.
Karena tabel berakhir di pertengahan Juni, kueri diatur untuk hanya menyertakan data hingga akhir Mei.
Latihan ini adalah bagian dari kursus
Pelaporan dengan SQL
Petunjuk latihan
- Dari
web_data, ambilcountry_iddan gunakan fungsiDATE_PART()untuk membuatmonth. - Buat
month_viewsyang mengambil total views dalam bulan tersebut. - Buat
previous_month_viewsyang mengambil total views dari bulan lalu untuk negara terkait. - Buat field
perc_changeyang menghitung persentase perubahan bulan ini relatif terhadap bulan lalu untuk negara terkait, di mana nilai negatif menunjukkan penurunan views dan nilai positif menunjukkan pertumbuhan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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 ____;