YTD совокупный расчет в SQL - PullRequest
0 голосов
/ 24 апреля 2019

Для моего проекта сервера sql я должен реализовать запрос, чтобы получить совокупное среднее число за 12 месяцев (вопрос с начала года). Мой код показывает, как получить AVG_201801, avg_201802, AVG_201803, ..., avg_201912. например: AVG_201801 = (201712 + 201801) / 2

Я старался изо всех сил, но я не знаю, как получить кумулятивные числа с начала года. Заранее спасибо.

Для результата,

Cum_201801=AVG_201801
Cum_201802= (AVG_201801+AVG_201802)/2
Cum_201803=(AVG_201801+AVG_201802+AVG_201803)/3
.....
Cum_201812=(AVG_201801+AVG_201802+AVG_201803+...+AVG_201812)/12





delete from [Forecast].[Forecast_Budget_personnel]
where Measure='avg_month'
and Scenario='2017 6+6'
and Version='Working Version'

INSERT INTO [Forecast].[Forecast_Budget_personnel]
           ([Heads]
           ,[Measure]
           ,[Year_Month]
           ,[Cost_center]
           ,[Direct_Indirect]
           ,[Scenario]
           ,[Version]
           ,[Business_categories]
           ,[Value]
          )
select Cur.Heads,
'avg_month',
Cur.Year_Month,
Cur.Cost_center,
Cur.Direct_Indirect,
Cur.Scenario,
Cur.Version,
Cur.Business_categories,
(isnull(Cur.Value,0)+isnull(Upr.Value,0))/2 Value
 from [Forecast].[Forecast_Budget_personnel] Cur
left join [Forecast].[Forecast_Budget_personnel] Upr 
on Cur.Heads=Upr.Heads 
and Cur.Measure=Upr.Measure
and Cur.Cost_Center=Upr.Cost_center
and Cur.Scenario=Upr.Scenario
and Cur.Version=Upr.Version
and Cur.Year_Month-1=Upr.Year_Month
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...