Začněte nyníZačněte zdarma

Analýza dat klientů za účelem odhalení možného podvodu

V této závěrečné sadě cvičení budeme analyzovat data denního wellness centra a hledat případné podvody. Naše společnost poskytuje každému zákazníkovi jeden průkaz pro osobní použití a jeden průkaz pro hosta. Máme záznamy o příchodech a odchodech každého klienta a průkazy pro hosty jsou provázány se základním ID zákazníka. To znamená, že může docházet k překryvu, když se klient a jeho host odbavují společně. Chceme zjistit, zda existují alespoň tři překrývající se záznamy pro jediného klienta — to by totiž bylo porušením našich obchodních pravidel.

Klíčem k odhalení překrývajících se záznamů je rozbalení dat a pohled na proud příchodů a odchodů. To uděláme jako první.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Pokyny k cvičení

Rozděl události na příchody a odchody.

  • Do části dotazu označené jako „příchody" doplň datum a čas začátku návštěvy zákazníka (dsv.CustomerVisitStart) jako TimeUTC.
  • Doplň okenní funkci, které dáváme alias StartStopPoints, aby nám generovala proud odbavení pro každého zákazníka seřazený podle data začátku návštěvy.
  • Do části dotazu označené jako „odchody" doplň datum a čas konce návštěvy zákazníka (dsv.CustomerVisitEnd) jako TimeUTC.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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
Upravit a spustit kód