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

Olası sahtekarlık için müşteri verilerini analiz et

Bu son egzersiz setinde, olası sahtekarlığı tespit etmek için bir gün spa verisini analiz edeceğiz. Şirketimiz her müşteriye kişisel kullanım için bir adet geçiş ve bir adet misafir geçişi verir. Her müşteri için giriş-çıkış verilerimiz var ve misafir geçişleri temel müşteri kimliğine bağlıdır. Bu, bir müşteri ve misafir birlikte giriş yaptığında örtüşme olabileceği anlamına gelir. Tek bir müşteri için en az üç örtüşen giriş olup olmadığını görmek istiyoruz; bu, iş kuralımızın ihlali olur.

Örtüşen girişleri düşünmenin anahtarı, veriyi "unpivot" ederek giriş ve çıkış akışı şeklinde ele almaktır. Önce bunu yapacağız.

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

SQL Server'da Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

Başlangıç olaylarını ve bitiş olaylarını ayır.

  • Sorgunun "entrances" kısmında müşterinin ziyaret başlangıç tarihini (dsv.CustomerVisitStart) TimeUTC olarak doldur.
  • Her müşteri için, ziyaret başlangıç tarihine göre sıralanmış giriş akışını elde etmek üzere StartStopPoints takma adı verdiğimiz pencere fonksiyonunu doldur.
  • Sorgunun "departures" kısmında müşterinin ziyaret bitiş tarihini (dsv.CustomerVisitEnd) TimeUTC olarak doldur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- This section focuses on entrances:  CustomerVisitStart
SELECT
	dsv.CustomerID,
	dsv.___ AS TimeUTC,
	1 AS EntryCount,
    -- We want to know each customer's entrance stream
    -- Get a unique, ascending row number
	___() OVER (
      -- Break this out by customer ID
      PARTITION BY dsv.___
      -- Ordered by the customer visit start date
      ORDER BY dsv.___
    ) AS StartOrdinal
FROM dbo.DaySpaVisit dsv
UNION ALL
-- This section focuses on departures:  CustomerVisitEnd
SELECT
	dsv.CustomerID,
	dsv.___ AS TimeUTC,
	-1 AS EntryCount,
	NULL AS StartOrdinal
FROM dbo.DaySpaVisit dsv
Kodu Düzenle ve Çalıştır