LoslegenKostenlos loslegen

Kundendaten auf potenziellen Betrug analysieren

In diesem letzten Aufgabenset analysieren wir Day-Spa-Daten, um potenziellen Betrug zu erkennen. Unser Unternehmen gibt jedem Kunden einen persönlichen Pass und einen einzelnen Gästepass. Wir haben Check-in- und Check-out-Daten für jeden Kunden, und Gästepässe sind mit der Basis-Kunden-ID verknüpft. Das bedeutet, dass es Überschneidungen geben kann, wenn ein Kunde und ein Gast gemeinsam einchecken. Wir möchten sehen, ob es mindestens drei überlappende Einträge für einen einzelnen Kunden gibt, da dies gegen unsere Geschäftsregel verstoßen würde.

Der Schlüssel zum Verständnis überlappender Einträge besteht darin, unsere Daten zu „unpivoten“ und als Strom von Ein- und Ausgängen zu betrachten. Damit fangen wir an.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in SQL Server

Kurs anzeigen

Anleitung zur Übung

Trenne Start- und Endereignisse.

  • Trage das Startdatum des Kundenbesuchs (dsv.CustomerVisitStart) als TimeUTC im Teil „entrances“ der Abfrage ein.
  • Ergänze die Fensterfunktion, die wir als StartStopPoints aliasen, um den Strom der Check-ins je Kunde zu erhalten, sortiert nach ihrem Besuchsstartdatum.
  • Trage das Enddatum des Kundenbesuchs (dsv.CustomerVisitEnd) als TimeUTC im Teil „departures“ der Abfrage ein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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
Code bearbeiten und ausführen