Downsample ke tingkat harian
Menggulung data ke tingkat yang lebih tinggi adalah tugas analitis yang umum. Kita mungkin memiliki himpunan data dengan cap waktu spesifik dan perlu mengamati hasil yang teragregasi. Di SQL Server, ada beberapa teknik yang tersedia bergantung pada tingkat (grain) yang Anda inginkan.
Untuk latihan ini, kita akan melihat sebuah spa harian fiksi. Manajemen spa mengirimkan kupon kepada calon pelanggan baru untuk periode 16 hingga 20 Juni 2020 dan ingin melihat apakah kampanye ini mendorong kunjungan baru.
Dalam latihan ini, kita akan melihat salah satu teknik downsampling yang paling sederhana: mengonversi tipe data DATETIME2 atau DATETIME menjadi tipe data yang hanya berisi tanggal tanpa komponen waktu: tipe DATE.
Latihan ini merupakan bagian dari kursus
Analisis Deret Waktu di SQL Server
Instruksi latihan
- Lakukan downsample waktu mulai kunjungan pelanggan ke tingkat harian dan agregasikan hasilnya.
- Lengkapi klausa GROUP BY dengan nilai apa pun yang tidak diagregasi di klausa SELECT (tetapi tanpa alias seperti
AS Day).
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
SELECT
-- Downsample to a daily grain
-- Cast CustomerVisitStart as a date
___(dsv.CustomerVisitStart AS ___) AS Day,
SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
dsv.CustomerVisitStart >= '2020-06-11'
AND dsv.CustomerVisitStart < '2020-06-23'
GROUP BY
-- When we use aggregation functions like SUM or COUNT,
-- we need to GROUP BY the non-aggregated columns
___(dsv.CustomerVisitStart AS ___)
ORDER BY
Day;