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

Günlük taneliğe downsample et

Veriyi daha yüksek bir taneliğe yuvarlamak yaygın bir analitik görevdir. Belirli zaman damgalarına sahip bir veri setimiz olabilir ve bu verilerde özet sonuçları görmek isteyebiliriz. SQL Server'da, hedeflediğin taneliğe bağlı olarak birden fazla teknik vardır.

Bu egzersizlerde kurgusal bir gün spasına bakacağız. Spa yönetimi, 16–20 Haziran 2020 dönemi için potansiyel yeni müşterilere kuponlar gönderdi ve bu kampanyanın yeni ziyaretleri tetikleyip tetiklemediğini görmek istiyor.

Bu egzersizde, en basit downsampling tekniklerinden birine bakacağız: DATETIME2 veya DATETIME veri türünü, saat bileşeni olmadan yalnızca tarihi tutan DATE türüne dönüştürmek.

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

SQL Server'da Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • Müşteri ziyaret başlangıç saatlerini günlük taneliğe downsample et ve sonuçları özetle.
  • SELECT ifadesindeki toplulaştırılmamış tüm değerleri (örneğin AS Day gibi takma adlar olmadan) GROUP BY ifadesine ekle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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