Ich möchte rollende 12-Monats-Durchschnittswerte für jeden Monat in einem resultierenden Datensatz zurückgeben, bin mir aber nicht sicher, wie ich dies tun kann.T-SQL - Rolling 12-Monats-Durchschnitt
Ich dachte, das folgende Skript funktionieren würde:
DECLARE @StartDate as datetime
DECLARE @EndDate as datetime
SET @StartDate = '01/04/2011'
SET @EndDate = getdate()
select x.FinYear, x.FinMonth, x.MonthText, avg(TimeSeconds) [AverageTimeSeconds]
from times x
where (x.TimeOfCall >= @StartDate and x.TimeOfCall < @EndDate)
group by x.FinYear, x.FinMonth, x.MonthText
order by x.FinYear, x.FinMonth
aber es gibt nur die Monatsmittelwerte, wie ich die 12-Monats-Durchschnitt führende bis zu jedem der Monate zwischen dem Start- und Enddatum erhalte.
Die resultierende Datenmenge die ich suche ist wie folgt:
Fin Year Fin Month Month Text Avg Time Seconds R12M Avg Seconds
2015/16 01 Apr 100 101
2015/16 02 May 95 98
2015/16 03 Jun 103 100
2015/16 04 Jul 110 100
2015/16 05 Aug 100 100
2015/16 06 Sep 90 97
2015/16 07 Oct 93 97
2015/16 08 Nov 98 100
2015/16 09 Dec 80 98
2015/16 10 Jan 88 98
2015/16 11 Feb 100 98
2016/17 12 Mar 115 100
2016/17 01 Apr 105 100
2016/17 02 May 98 100
2016/17 03 Jun 95 98
2016/17 04 Jul 102 98
2016/17 05 Aug 109 99
2016/17 06 Sep 104 100
2016/17 07 Oct 98 98
2016/17 08 Nov 99 97
2016/17 09 Dec 90 97
die rollierende 12 Monats-Durchschnitt nicht ein Durchschnitt des Monatsmittelwertes ist aber im Durchschnitt der letzten 12 Monate auf den betreffenden Monat führt. Also Januar 2017 wäre der Durchschnitt vom 1. Februar 2016 - 31. Januar 2017 und Oktober 2016 wäre 01. November 2015 bis 31. Oktober 2016.
Ich hoffe, Sie können helfen :-).
Bitte zeigen Sie Ihr erwartetes Ergebnis, tatsächliche Ergebnismenge und DDL, um das Problem zu reproduzieren – TheGameiswar
Tag die Version von SQLServer, die Sie auch verwenden.Sehen Sie hier zum Beispiel: https: //spaghettidba.com/2015/04/24/how -nach-sql-question-on-a-public-forum/ – TheGameiswar
Wenn Sie auf SQL 2012+ sind, benötigen Sie Folgendes: https://www.simple-talk.com/sql/t- sql-programming/berechnungswerte-in-einem-rolling-window-in-transact-sql/ – RoundFour