Mulai sekarangMulai gratis

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

Lihat Kursus

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;
Edit dan Jalankan Kode