Я хотел бы возвращать скользящие 12-месячные средние значения для каждого месяца в результирующем наборе данных, но я не уверен, как я могу это сделать.T-SQL - Rolling 12 Month Average
Я думал, что следующий сценарий будет работать:
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
но он возвращает только среднемесячные, как я получаю в среднем 12 месяцев, ведущих к каждому из месяцев между начала и окончания.
Результирующий набор данных Я ищу выглядят следующим образом:
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
прокатка 12 месяцев в среднем не в среднем среднемесячных, но в среднем 12 месяцев до месяца, в вопросе. Таким образом, январь 2017 года был бы средним с 01 февраля 2016 года по 31 января 2017 года и октябрем 2016 года - с 01 ноября 2015 года по 31 октября 2016 года.
Надеюсь, вы сможете помочь :-).
, пожалуйста, покажите ожидаемый результат, фактический результат и DDL, чтобы воспроизвести проблему. – TheGameiswar
пометьте версию SQLServer, которую вы используете как. Посмотрите здесь, например: https: //spaghettidba.com/2015/04/24/how -to-post-at-sql-question-on-a-public-forum/ – TheGameiswar
Если вы находитесь на SQL 2012+, это то, что вам нужно: https://www.simple-talk.com/sql/t- sql-programming/calculate-values-in-a-roll-window-in-transact-sql/ – RoundFour