ComeçarComece de graça

Calculando médias móveis

Em vez de observar um total acumulado desde o início até agora, a diretoria quer ver a média de incidentes nos últimos 7 dias — ou seja, começando 6 dias atrás e terminando na data atual. Como isso é feito sobre um intervalo definido que muda ao longo da consulta, chamamos isso de média móvel.

O SQL Server não consegue considerar intervalos de tempo diretamente em funções de janela, então vamos assumir que há uma linha por dia e usar a cláusula ROWS.

Este exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • Preencha a função de janela correta para calcular uma média móvel começando 6 dias atrás até hoje (a linha atual).
  • Preencha a moldura da janela, incluindo a cláusula ROWS, o limite anterior da janela e o limite posterior da janela.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código