Zacznij terazZacznij za darmo

Tworzenie strumienia zdarzeń

W poprzednim ćwiczeniu podzieliliśmy dane spa dziennego na strumień wejść i wyjść. Odpivotowanie danych pozwala przejść do kolejnego kroku, czyli posortowania całego strumienia.

Wyniki z poprzedniego ćwiczenia są teraz w tabeli tymczasowej o nazwie #StartStopPoints. Kolumny tej tabeli to CustomerID, TimeUTC, EntryCount i StartOrdinal. To jedyne kolumny, których będziesz używać w tym ćwiczeniu. TimeUTC reprezentuje czas zdarzenia, EntryCount określa zmianę netto dla zdarzenia (+1 lub -1), a StartOrdinal pojawia się dla zdarzeń wejścia i wskazuje kolejność przybycia.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij odpowiednią funkcję okna (ROW_NUMBER()), aby utworzyć strumień zameldowań i wymeldowań w porządku chronologicznym.
  • Zastosuj partycjonowanie według identyfikatora klienta, aby obliczyć wynik dla każdego użytkownika.
  • Posortuj według czasu zdarzenia, a remisy rozwiązuj przy użyciu wartości porządkowej wejścia.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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;
Edytuj i uruchom kod