<?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: Copying down data in a panel in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289407#M59641</link>
    <description>&lt;P&gt;Thank you all for your help.&lt;/P&gt;</description>
    <pubDate>Thu, 04 Aug 2016 01:13:16 GMT</pubDate>
    <dc:creator>finans_sas</dc:creator>
    <dc:date>2016-08-04T01:13:16Z</dc:date>
    <item>
      <title>Copying down data in a panel</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289002#M59601</link>
      <description>&lt;P&gt;Hello Everyone:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a particular event (election) that takes place at different intervals for different states (sometimes at different intervals for the same state). Below is a sample data. Even though the election does not take place every year, I have some other data that have values every year (such as population). I would like to be able to copy the election data (Votes) from the election year to the subsequent year(s) until the next election date. For example, at the end, Alabama should have 100,000 votes for 2001 and 2002, Alaska should have 50,000 votes for 1993, 1994, and 1995. Since there is no data for the election data preceding 1992 for Alaska, 1990 and 1991 should stay blank.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I used various statements involving lags, but could not get what I need. Thank you for your help in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElectionYear&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Votes&lt;/P&gt;
&lt;P&gt;Alabama &amp;nbsp;&amp;nbsp;&amp;nbsp;2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100,000&lt;/P&gt;
&lt;P&gt;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2001&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2002&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;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 105,000&lt;/P&gt;
&lt;P&gt;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2004&lt;/P&gt;
&lt;P&gt;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2005&lt;/P&gt;
&lt;P&gt;Alabama&amp;nbsp;&amp;nbsp;&amp;nbsp; 2006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112,000&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50,000&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1995&lt;/P&gt;
&lt;P&gt;Alaska&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1996 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1996&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 52,000&lt;/P&gt;</description>
      <pubDate>Tue, 02 Aug 2016 19:34:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289002#M59601</guid>
      <dc:creator>finans_sas</dc:creator>
      <dc:date>2016-08-02T19:34:55Z</dc:date>
    </item>
    <item>
      <title>Re: Copying down data in a panel</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289010#M59603</link>
      <description>&lt;P&gt;Something like this perhaps. RETAIN is very useful for holding when the interval changes or may not be known as long as you only need one value at a time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   set have;
   retain lastEyear lastvotes .;     /* if either election year or votes are character you 
                                    need set a length to hold the charcter values or 
                                    change the . to "" to idicate character variable*/
   if missing(electionyear) then electionyear=lastEyear;
   else lastEyear=electionyear;
   /* if you NEVER EVER will have votes missing other than with 
      missing election year these could be in the same If/then above
   */
   if missing(votes) then votes=lastvotes;
   else lastvotes = votes;

   drop lastEyear lastvotes;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 02 Aug 2016 20:09:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289010#M59603</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-08-02T20:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: Copying down data in a panel</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289095#M59607</link>
      <description>&lt;P&gt;&amp;nbsp;Is this what you are looking for ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
    infile cards truncover expandtabs;
    input State $  Year  ElectionYear  Votes : comma10.;
    cards;
Alabama    2000  2000   100,000
Alabama    2001  
Alabama    2002      
Alabama    2003  2003   105,000
Alabama    2004
Alabama    2005
Alabama    2006  2006   112,000
Alaska     1990   
Alaska     1991
Alaska     1992  1992   50,000
Alaska     1993   
Alaska     1994
Alaska     1995
Alaska     1996  1996   52,000
;
run;

data want;
    set have;
    by state;
    retain new_votes;
    if first.state then
        new_votes=.;
    if not missing(votes) then
        new_votes=votes;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Result:&lt;/P&gt;
&lt;PRE&gt;                          Election               new_
Obs     State     Year      Year       Votes     votes

  1    Alabama    2000      2000      100000    100000
  2    Alabama    2001         .           .    100000
  3    Alabama    2002         .           .    100000
  4    Alabama    2003      2003      105000    105000
  5    Alabama    2004         .           .    105000
  6    Alabama    2005         .           .    105000
  7    Alabama    2006      2006      112000    112000
  8    Alaska     1990         .           .         .
  9    Alaska     1991         .           .         .
 10    Alaska     1992      1992       50000     50000
 11    Alaska     1993         .           .     50000
 12    Alaska     1994         .           .     50000
 13    Alaska     1995         .           .     50000
 14    Alaska     1996      1996       52000     52000
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2016 11:57:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289095#M59607</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-08-04T11:57:09Z</dc:date>
    </item>
    <item>
      <title>Re: Copying down data in a panel</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289407#M59641</link>
      <description>&lt;P&gt;Thank you all for your help.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2016 01:13:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Copying-down-data-in-a-panel/m-p/289407#M59641</guid>
      <dc:creator>finans_sas</dc:creator>
      <dc:date>2016-08-04T01:13:16Z</dc:date>
    </item>
  </channel>
</rss>

