Kom igångKom igång gratis

Bygg en händelseström

I föregående övning delade vi upp dagssspa-data i en ström av inträden och utträden. Genom att avpivotera data kan vi gå vidare till nästa steg, nämligen att sortera hela strömmen.

Resultaten från föregående övning finns nu i en temporär tabell kallad #StartStopPoints. Kolumnerna i den här tabellen är CustomerID, TimeUTC, EntryCount och StartOrdinal. Det är bara dessa kolumner du behöver använda i den här övningen. TimeUTC representerar händelsetiden, EntryCount anger nettoförändringen för händelsen (+1 eller -1) och StartOrdinal förekommer för inträden och anger inträdesordningen.

Den här övningen är en del av kursen

Tidsserieanalys i SQL Server

Visa kurs

Övningsinstruktioner

  • Fyll i lämplig fönsterfunktion (ROW_NUMBER()) för att skapa en ström av incheckningar och utcheckningar i kronologisk ordning.
  • Partitionera efter kund-ID för att beräkna ett resultat per användare.
  • Sortera efter händelsetiden och lös eventuella likheter med hjälp av startvärdet för ordningstalet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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;
Redigera och kör kod