J'essaie de calculer l'écart-type glissant d'une fonction agrégée.SQL Aggregate Over Window
Mes données se présente comme suit
EFFECTIVE_DATE VALUE_1 VALUE_2
10/10/2000 1 3
10/10/2000 2 2
10/10/2001 1 1
10/10/2001 2 3
En ce moment ce que j'ai pour une requête est au-dessous, mais il est de retour les dates ordonnées et une valeur de NULL
pour la STDEV
SELECT [EFFECTIVE_DATE], STDEV(A._SUM) OVER(
PARTITION BY [EFFECTIVE_DATE]
ORDER BY [EFFECTIVE_DATE]
ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)
FROM
(SELECT [EFFECTIVE_DATE], SUM([VALUE_1]*[VALUE_2]) AS '_SUM'
FROM MY_TABLE
GROUP BY [EFFECTIVE_DATE]) AS A
I J'essaie d'obtenir la requête pour calculer le SUM
de et VALUE_2
pour chaque EFFECTIVE_DATE
dans la table, classer les résultats par EFFECTIVE_DATE
, puis de calculer le roulement STDEV
pour les 6 périodes précédentes pour chaque EFFECTIVE_DATE
.
par exemple.
EFFECTIVE_DATE ROLLING_STDEV
10/10/2000 1.5
10/10/2001 2.5
Des idées comment je peux accomplir cela?