Inizia subitoInizia gratis

Crea un flusso di eventi

Nell’esercizio precedente, abbiamo scomposto i dati della day spa in un flusso di ingressi e uscite. L’unpivot dei dati ci permette di passare al passo successivo, ovvero ordinare l’intero flusso.

I risultati dell’esercizio precedente sono ora in una tabella temporanea chiamata #StartStopPoints. Le colonne in questa tabella sono CustomerID, TimeUTC, EntryCount e StartOrdinal. Queste sono le uniche colonne di cui avrai bisogno in questo esercizio. TimeUTC rappresenta l’ora dell’evento, EntryCount indica la variazione netta per l’evento (+1 o -1) e StartOrdinal compare per gli eventi di ingresso e fornisce l’ordine di entrata.

Questo esercizio fa parte del corso

Analisi delle serie temporali in SQL Server

Visualizza corso

Istruzioni dell'esercizio

  • Compila l’appropriata funzione finestra (ROW_NUMBER()) per creare un flusso di check-in e check-out in ordine cronologico.
  • Esegui la partizione per ID cliente per calcolare un risultato per utente.
  • Ordina per ora dell’evento e risolvi i pari merito usando il valore di start ordinal.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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;
Modifica ed esegui il codice