<?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: Adding values for missing dates in time-series data using SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175776#M264667</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It looks like this works as well. I will also try to use this method to apply to my larger dataset and see if I get correct results.&lt;/P&gt;&lt;P&gt;Thanks! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 May 2014 19:20:41 GMT</pubDate>
    <dc:creator>klappy711</dc:creator>
    <dc:date>2014-05-28T19:20:41Z</dc:date>
    <item>
      <title>Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175770#M264661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am having trouble figuring out how to create entries for missing dates in my time-series data. I'm trying to use proc expand and I'm able to get entries for dates between the already existing dates shown, but I need to get entries for all quarters between 2003 and 2014. Here is a sample of my problem with SAS code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input cust reg qtr year sales;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat qtr yyq6.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format qtr yyq6.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2003Q1 2003 20&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2003Q2 2003 24&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2004Q1 2004 19&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2 6 2004Q2 2004 77&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2 6 2005Q4 2005 66&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by cust reg qtr;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc expand data=test out=new from=qtr to=qtr method=none;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by cust reg;&lt;/P&gt;&lt;P&gt;&amp;nbsp; id qtr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; convert sales=sales/transformout=(setmiss 0);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The resulting dataset looks as follows:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Capture.PNG" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/6458_Capture.PNG" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you can see, it adds entries for the quarters between the already existing quarter entries, but I need entries for all quarters between 2003 and 2014.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 18:02:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175770#M264661</guid>
      <dc:creator>klappy711</dc:creator>
      <dc:date>2014-05-28T18:02:02Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175771#M264662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you have a 2014Q4 value in your base data? I think expand only goes to the maximum value you provide. Add a record for 2014Q4 and see what happens.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 18:15:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175771#M264662</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2014-05-28T18:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175772#M264663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, that did add values up to 2014Q4, but only within the customer that I added a value for that quarter. So it seems that this only adds values for dates between the lowest and highest quarter within each customer. I somehow need to get values for all quarters between 2003 and 2014 for every customer. This dataset contains only two customers, but my actual dataset contains much more, and most customers do not have entries for the lowest (2003Q1) and highest (2014Q4) quarters. Might I need a different method?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 18:28:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175772#M264663</guid>
      <dc:creator>klappy711</dc:creator>
      <dc:date>2014-05-28T18:28:40Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175773#M264664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data test;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; input cust reg qtr year sales;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; informat qtr yyq6.;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; format qtr yyq6.;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; datalines;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 1 2 2003Q1 2003 20&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 1 2 2003Q2 2003 24&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 1 2 2004Q1 2004 19&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 2 6 2004Q2 2004 77&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 2 6 2005Q4 2005 66&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; ;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; proc sort data=test;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; by cust reg qtr;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; /* List the required dates */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data qtr;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;do year = 2003 to 2014;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do quarter = 0 to 3;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qtr = mdy(1+3*quarter,1,year);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;format qtr yyq6.;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;keep year qtr;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc sql;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;create table test2 as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select C.cust, C.reg, Q.qtr, Q.year, T.sales &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;from qtr as Q cross join&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select unique cust, reg from test) as C left join&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; test as T on C.cust=T.cust and C.reg=T.reg and Q.qtr=T.qtr&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;order by cust, reg, year, qtr;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc expand data=test2 out=new from=qtr to=qtr method=none extrapolate;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; by cust reg;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; id qtr;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; convert sales=sales/transformout=(setmiss 0);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 18:42:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175773#M264664</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-05-28T18:42:14Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175774#M264665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello -&lt;/P&gt;&lt;P&gt;As an alternative you may want to run PROC TIMESERIES instead of PROC EXPAND.&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 test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; input cust reg qtr year sales;&lt;/P&gt;&lt;P&gt;&amp;nbsp; informat qtr yyq6.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format qtr yyq6.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2003Q1 2003 20&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2003Q2 2003 24&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1 2 2004Q1 2004 19&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2 6 2004Q2 2004 77&lt;/P&gt;&lt;P&gt;&amp;nbsp; 2 6 2005Q4 2005 66&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=test;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by cust reg qtr;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc timeseries data=test out=new;&lt;/P&gt;&lt;P&gt;&amp;nbsp; id qtr interval=qtr start="01JAN2003"d end="31DEC2014"d setmissing=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; var sales;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by cust reg;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 19:14:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175774#M264665</guid>
      <dc:creator>udo_sas</dc:creator>
      <dc:date>2014-05-28T19:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175775#M264666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;It looks like this did the trick. I will try to apply the same method to my larger dataset and see if i can get the same results.&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 19:19:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175775#M264666</guid>
      <dc:creator>klappy711</dc:creator>
      <dc:date>2014-05-28T19:19:48Z</dc:date>
    </item>
    <item>
      <title>Re: Adding values for missing dates in time-series data using SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175776#M264667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It looks like this works as well. I will also try to use this method to apply to my larger dataset and see if I get correct results.&lt;/P&gt;&lt;P&gt;Thanks! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 19:20:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-values-for-missing-dates-in-time-series-data-using-SAS/m-p/175776#M264667</guid>
      <dc:creator>klappy711</dc:creator>
      <dc:date>2014-05-28T19:20:41Z</dc:date>
    </item>
  </channel>
</rss>

