LoslegenKostenlos loslegen

Ereignisstrom aufbauen

In der vorherigen Übung haben wir die Day-Spa-Daten in einen Strom von Ein- und Austritten aufgeteilt. Durch das Unpivoting der Daten können wir nun den nächsten Schritt gehen und den gesamten Strom ordnen.

Die Ergebnisse aus der vorherigen Übung befinden sich jetzt in einer temporären Tabelle namens #StartStopPoints. Die Spalten in dieser Tabelle sind CustomerID, TimeUTC, EntryCount und StartOrdinal. Das sind die einzigen Spalten, die du in dieser Übung verwenden musst. TimeUTC steht für die Ereigniszeit, EntryCount zeigt die Nettoänderung für das Ereignis an (+1 oder -1), und StartOrdinal erscheint bei Eintrittsereignissen und gibt die Eintrittsreihenfolge an.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Ergänze die passende Fensterfunktion (ROW_NUMBER()), um einen chronologisch geordneten Strom von Check-ins und Check-outs zu erzeugen.
  • Partitioniere nach der Customer ID, um ein Ergebnis pro Nutzer zu berechnen.
  • Sortiere nach der Ereigniszeit und löse Gleichstände mithilfe des Start-Ordinalwerts auf.

Interaktive Übung

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

SELECT s.*,
    -- Build a stream of all check-in and check-out events
	___() OVER (
      -- Break this out by customer ID
      PARTITION BY s.___
      -- Order by event time and then the start ordinal
      -- value (in case of exact time matches)
      ORDER BY s.___, s.___
    ) AS StartOrEndOrdinal
FROM #StartStopPoints s;
Code bearbeiten und ausführen