У меня есть ежедневные данные, структурированные в следующем формате. Обратите внимание, что это только часть данных, и мне пришлось внести некоторые изменения, чтобы иметь возможность поделиться ими.
Первый столбец - это [DataValue], для которого мне нужно найти Z-счет по IndexValue, [Qualifier], [QualifierCode] и [QualifierType]. У меня также есть столбец [Дата] там.
Мне необходимо найти значение Z-показателя для каждой точки данных по IndexValue, [Qualifier], [QualifierCode] и [QualifierType]. Основное внимание здесь уделяется тому, что у меня есть данные за последние 3 года, но для расчета Z-показателя я хочу взять только среднее и стандартное отклонение за последний год.
Z-Score = [DataValue] - (среднее значение за последний 1 год) / (стандартное отклонение за последний 1 год)
Я борюсь с тем, как получить среднее значение за последний год. Кто-нибудь сможет мне помочь с этим?
SELECT [IndexValue]
,[Qualifier]
,[QualifierCode]
,[QualifierType],[Date]
,[Month]
,[Year]
,[Z-Score] = ([DataValue] - ROUND(AVG([DataValue]),3))/ ROUND(STDEV([DataValue]),3)
FROM [TABLEA]
GROUP BY [IndexValue]
,[Qualifier]
,[QualifierCode]
,[QualifierType]
,[Date]
,[Month]
,[Year]
order by [IndexValue]
,[Qualifier]
,[QualifierCode]
,[QualifierType]
,[Date] desc
: https://i.stack.imgur.com/pqhJD.png