EmpezarEmpieza gratis

Calcular medias móviles

En lugar de ver un total acumulado desde el inicio hasta ahora, la dirección quiere consultar el número medio de incidencias de los últimos 7 días; es decir, empezando hace 6 días y terminando en la fecha actual. Como esto se calcula sobre un marco específico que cambia a lo largo de la consulta, se denomina media móvil.

SQL Server no puede manejar rangos de tiempo en funciones de ventana, así que asumiremos que hay una fila por día y usaremos la cláusula ROWS.

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 para calcular una media móvil desde hace 6 días hasta hoy (la fila actual).
  • Completa el marco de ventana, incluyendo la cláusula ROWS, el límite anterior y el límite posterior del marco.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
	ir.NumberOfIncidents,
    -- Fill in the correct window function
	___(ir.NumberOfIncidents) OVER (
		PARTITION BY ir.IncidentTypeID
		ORDER BY ir.IncidentDate
      	-- Fill in the three parts of the window frame
		___ BETWEEN ___ AND ___
	) AS MeanNumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	c.CalendarYear = 2019
	AND c.CalendarMonth IN (7, 8)
	AND ir.IncidentTypeID = 1
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Editar y ejecutar código