EmpezarEmpieza gratis

Genera un flujo de eventos

En el ejercicio anterior, separamos los datos del spa en un flujo de entradas y salidas. Al deshacer la tabla (unpivot), ahora podemos pasar al siguiente paso: ordenar todo el flujo.

Los resultados del ejercicio anterior están en una tabla temporal llamada #StartStopPoints. Las columnas de esta tabla son CustomerID, TimeUTC, EntryCount y StartOrdinal. Estas son las únicas columnas que necesitarás usar en este ejercicio. TimeUTC representa la hora del evento, EntryCount indica el cambio neto del evento (+1 o -1) y StartOrdinal aparece en los eventos de entrada y da el orden de entrada.

Este ejercicio forma parte del curso

Análisis de series temporales en SQL Server

Ver curso

Instrucciones del ejercicio

  • Completa la función de ventana adecuada (ROW_NUMBER()) para crear un flujo de check-ins y check-outs en orden cronológico.
  • Haz la partición por el ID del cliente para calcular un resultado por usuario.
  • Ordena por la hora del evento y resuelve los empates usando el valor de start ordinal.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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;
Editar y ejecutar código