<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Moving average forecast in SAS Forecasting and Econometrics</title>
    <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141670#M904</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you user24 feb. I will however start by looking at udo@sas' answer and method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Sep 2014 08:53:35 GMT</pubDate>
    <dc:creator>Laasse</dc:creator>
    <dc:date>2014-09-04T08:53:35Z</dc:date>
    <item>
      <title>Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141661#M895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As a part of my forecast I am using a moving average based on three observations. Calculating this in SAS I have managed do it only for outcome data and not managed to do it for forecast data. The moving average for a specific month should be the average for the same months three years back. I have tried different kind of syntax but I have found nothing that makes an correct calculation for values after May 2014 (my last outcome).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This syntax creates correct values up until May 2014. After that everything is blank (I have created MA after that in several ways, but never correct).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc expand data=QQQ out=QQQQ;&lt;/P&gt;&lt;P&gt; id year&lt;/P&gt;&lt;P&gt; by month&lt;/P&gt;&lt;P&gt; convert UUU=UUU_LAG&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; III=III_LAG&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...../&lt;/P&gt;&lt;P&gt;transformout=(reverse movave 3 reverse);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas/functions? I think it should work from this setup.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 07:07:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141661#M895</guid>
      <dc:creator>Laasse</dc:creator>
      <dc:date>2014-07-30T07:07:40Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141662#M896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Proc expand is rather used to transform data than to use it for forecasting. If you#re actually looking for simple moving averages (not exponentially weighted ones) you could use a data step. Maybe something like this:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Data A;&lt;BR /&gt;&amp;nbsp; Input Date:Date9. ACTUAL;&lt;BR /&gt;&amp;nbsp; Format Date Date9.;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; 01JAN2000 23&lt;BR /&gt;&amp;nbsp; 01FEB2000 45&lt;BR /&gt;&amp;nbsp; 01MAR2000 12&lt;BR /&gt;&amp;nbsp; 01APR2000 89&lt;BR /&gt;&amp;nbsp; 01MAY2000 23&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Data A_Forecast (Drop=dummy);&lt;BR /&gt;&amp;nbsp; Retain dummy;&lt;BR /&gt;&amp;nbsp; Set A;&lt;BR /&gt;&amp;nbsp; dummy=Sum(dummy,ACTUAL,-Lag3(ACTUAL));&lt;BR /&gt;&amp;nbsp; Mov_Ave_3_GD=dummy/3;&lt;BR /&gt;Run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 09:42:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141662#M896</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-07-30T09:42:52Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141663#M897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;p.s. credit goes to SAS&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/kb/25/027.html" title="http://support.sas.com/kb/25/027.html"&gt;25027 - Compute the moving average of a variable&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 09:47:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141663#M897</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-07-30T09:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141664#M898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have seen that kind of solution. The problem however is that my MA is not as simple as that one (they are still simple but not enough..). For June 2014 I want the average of June 2011-2013. And so on, thus I don´t just want the average of the three last months. How can I add a by statement and an ID variable into your solution?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 13:19:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141664#M898</guid>
      <dc:creator>Laasse</dc:creator>
      <dc:date>2014-07-30T13:19:29Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141665#M899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Give us an example to illustrate your problem .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 13:33:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141665#M899</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-07-30T13:33:18Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141666#M900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I might be entirely wrong, but I think:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%Let Periods=3;&lt;BR /&gt;%Let Lead=5;&lt;BR /&gt;%Let Multiplier=12; /* 12 months */&lt;/P&gt;&lt;P&gt;%Let Comb_Lag=%Eval(&amp;amp;Periods.*&amp;amp;Multiplier.);&lt;/P&gt;&lt;P&gt;Data A (Drop=i j k);&lt;BR /&gt;&amp;nbsp; Format Date Date9.;&lt;BR /&gt;&amp;nbsp; Do k=1 to 3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do j=1 to 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do i=1 to 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date=MDY(i,1,j+2000);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACTUAL=Round(Normal(1)*k+20); /* k as Standard Deviation */&lt;BR /&gt;&amp;nbsp; ID=k;&lt;BR /&gt;&amp;nbsp; Output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt; End;&lt;BR /&gt;&amp;nbsp; End;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;/* "simple" seasonal (??) moving average */&lt;BR /&gt;Data A_Forecast (Keep=ID Date ACTUAL Mov_Ave);&lt;BR /&gt;&amp;nbsp; Set A;&lt;BR /&gt;&amp;nbsp; By ID;&lt;BR /&gt;&amp;nbsp; Array dummy{*} dummy1-dummy12;&lt;BR /&gt;&amp;nbsp; Array dummy_sum{*} dummy_sum1-dummy_sum12;&lt;BR /&gt;&amp;nbsp; Array dummy_drop {*} dummy_drop1-dummy_drop12;&lt;BR /&gt;&amp;nbsp; Retain dummy_sum1-dummy_sum12;&lt;BR /&gt;&amp;nbsp; Do i=1 To 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Month(Date) eq i Then Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy{i}=ACTUAL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; dummy_drop{i}=Lag&amp;amp;Comb_Lag.(ACTUAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt;&amp;nbsp; End;&lt;BR /&gt;&amp;nbsp; If First.ID Then Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; count=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Do i=1 To 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy_sum{i}=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt; End; &lt;BR /&gt; count+1;&lt;BR /&gt; If count gt &amp;amp;Comb_Lag. Then Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Do i=1 To 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy_sum{i}=Sum(dummy_sum{i},dummy{i},-dummy_drop{i});&lt;BR /&gt;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt; End; &lt;BR /&gt; Else Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Do i=1 To 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy_sum{i}=Sum(dummy_sum{i},dummy{i});&lt;BR /&gt;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt; End;&lt;/P&gt;&lt;P&gt; If count ge &amp;amp;Comb_Lag. Then Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Do i=1 To 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If not Missing (dummy{i}) Then dummy_sum_act=dummy_sum{i};&lt;BR /&gt;&amp;nbsp;&amp;nbsp; End;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Mov_Ave=dummy_sum_act/&amp;amp;Periods.;&lt;BR /&gt; End; &lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;/* fill in lead */&lt;BR /&gt;Data A_Forecast_Lead (Drop=i);&lt;BR /&gt;&amp;nbsp; Retain Date ID Mve_Ave;&lt;BR /&gt;&amp;nbsp; Set A_Forecast;&lt;BR /&gt;&amp;nbsp; By ID;&lt;BR /&gt;&amp;nbsp; If Last.ID Then Do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do i=1 to &amp;amp;Lead.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Date=IntNX('month',Date,1,'same');&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ACTUAL=.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Output;&lt;BR /&gt; End;&lt;BR /&gt;&amp;nbsp; End;&lt;BR /&gt;&amp;nbsp; Output;&lt;BR /&gt;Run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 14:25:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141666#M900</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-07-30T14:25:39Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141667#M901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My summer vacation starts today (earlier than planned...). I will be back in about two and half week and then try to solve this. I appreciate your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2014 07:46:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141667#M901</guid>
      <dc:creator>Laasse</dc:creator>
      <dc:date>2014-07-31T07:46:54Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141668#M902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello -&lt;/P&gt;&lt;P&gt;After returning from vacation you may want to look into PROC TIMEDATA to accomplish this task.&lt;/P&gt;&lt;P&gt;Assuming that you have access to 13.1 of course and I have understood your request properly.&lt;/P&gt;&lt;P&gt;See example below.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Udo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;set sashelp.air end=last;&lt;/P&gt;&lt;P&gt;if last then do i=0 to 12;&lt;/P&gt;&lt;P&gt; date=intnx('month',"01DEC60"d, i);&lt;/P&gt;&lt;P&gt; if i ge 1 then air=.;&lt;/P&gt;&lt;P&gt; output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;else output;&lt;/P&gt;&lt;P&gt;drop i;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc timedata data=have out=_null_ outarray=want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id date interval=MONTH;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var air;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outarray movavg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do t = 1 to _LENGTH_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movavg&lt;T&gt;=(air[t-12]+air[t-24]+air[t-36])/3;&lt;/T&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2014 18:54:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141668#M902</guid>
      <dc:creator>udo_sas</dc:creator>
      <dc:date>2014-07-31T18:54:48Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141669#M903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you udo@sas. I couldn´t really start with this after returning from my vacation, but now I can find some time and I have already found some use of your answer. However I'm not there yet. I think I don't need your kind of data step because I already have a date variable manad (YYMMN6. 200801-201812) and of course my variable of interest SGI_ROD_FP_ANDEL (with values from 200801 until 201405). When writing my proc timedata step I'm doing like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc timedata data=have out=_null_ outarray=want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id manad interval=MONTH;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var SGI_ROD_FP_ANDEL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outarray movavg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do 1 to _LENGTH_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movavg&lt;T&gt;=(SGI_ROD_FP_ANDEL[t-12]+SGI_ROD_FP_ANDEL[t-24]+SGI_ROD_FP_ANDEL[t-36])/3;&lt;/T&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I got movavg values from 201101 until 201505. My objective is however to get values from 201406 until 201812. Hence I want moving average values that depend of a mix of SGI_ROD_FP_ANDEL values and movavg values and some that only depends of movavg values. Is that possible? When I substitute "_LENGTH_" for something else, it simply doesn't work. What I'm doing wrong?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2014 08:50:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141669#M903</guid>
      <dc:creator>Laasse</dc:creator>
      <dc:date>2014-09-04T08:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141670#M904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you user24 feb. I will however start by looking at udo@sas' answer and method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2014 08:53:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141670#M904</guid>
      <dc:creator>Laasse</dc:creator>
      <dc:date>2014-09-04T08:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: Moving average forecast</title>
      <link>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141671#M905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Laasse -&lt;/P&gt;&lt;P&gt;Yes, my data step was only used for creating an example data set.&lt;/P&gt;&lt;P&gt;I have modified your code to address your additional question (see below).&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Udo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc timedata data=have out=_null_ outarray=want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id manad interval=MONTH;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var SGI_ROD_FP_ANDEL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outarray movavg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do t = 1 to _LENGTH_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movavg&lt;T&gt;=(SGI_ROD_FP_ANDEL[t-12]+SGI_ROD_FP_ANDEL[t-24]+SGI_ROD_FP_ANDEL[t-36])/3;&lt;/T&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if missing(SGI_ROD_FP_ANDEL&lt;T&gt;) then SGI_ROD_FP_ANDEL&lt;T&gt;=movavg&lt;T&gt;;&lt;/T&gt;&lt;/T&gt;&lt;/T&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2014 23:10:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Forecasting-and-Econometrics/Moving-average-forecast/m-p/141671#M905</guid>
      <dc:creator>udo_sas</dc:creator>
      <dc:date>2014-09-04T23:10:09Z</dc:date>
    </item>
  </channel>
</rss>

