<?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: Repeat Index Date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647210#M193662</link>
    <description>&lt;P&gt;Boring afternoon and so just for some fun&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines missover; 
   input IDnumber date  :mmddyy10. index_date :mmddyy10.;
   format date index_date mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 
1 4-7-2011 
1 4-7-2012 
1 4-7-2013 
1 4-7-2014 4-7-2014
1 4-7-2015 
1 4-7-2016 
1 4-7-2018 
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 
2 4-7-2013 
2 4-7-2014 
2 4-7-2015 
2 4-7-2016 4-7-2016
2 4-7-2017 
2 4-7-2018 
2 4-7-2019 
2 4-7-2020 
;       
run; 

data want;
 if _n_=1 then do;
  dcl hash H () ;
  h.definekey  ("IDnumber") ;
  h.definedata ("index_date") ;
  h.definedone () ;
 end;
 do _n_=h.clear() by 0 until(last.IDnumber);
  set have;
  by IDnumber;
  if nmiss(index_date) then h.find();
  else h.replace();
  output;
 end;
run;
proc print noobs;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 12 May 2020 18:55:04 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2020-05-12T18:55:04Z</dc:date>
    <item>
      <title>Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647182#M193653</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have following data&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data have;
infile datalines missover; 
   input IDnumber @3 date  mmddyy10. index_date  mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 
1 4-7-2011 
1 4-7-2012 
1 4-7-2013 
1 4-7-2014 4-7-2014
1 4-7-2015 
1 4-7-2016 
1 4-7-2018 
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 
2 4-7-2013 
2 4-7-2014 
2 4-7-2015 
2 4-7-2016 4-7-2016
2 4-7-2017 
2 4-7-2018 
2 4-7-2019 
2 4-7-2020 
;       
run; &lt;/PRE&gt;&lt;P&gt;What i need is to repeat the index date until the new index date. As following&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data want;
infile datalines missover; 
   input IDnumber @3 date  mmddyy10. @12 index_date  mmddyy10.;
   datalines;  
1 4-7-2003  4-7-2003
1 4-7-2009  4-7-2009
1 4-7-2010  4-7-2009
1 4-7-2011  4-7-2009
1 4-7-2012 4-7-2009
1 4-7-2013 4-7-2009
1 4-7-2014 4-7-2014
1 4-7-2015 4-7-2014
1 4-7-2016 4-7-2014
1 4-7-2018 4-7-2014
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011
2 4-7-2012 4-7-2011
2 4-7-2013 4-7-2011
2 4-7-2014 4-7-2011
2 4-7-2015 4-7-2011
2 4-7-2016 4-7-2016
2 4-7-2017  4-7-2016
2 4-7-2018  4-7-2016
2 4-7-2019  4-7-2016
2 4-7-2020  4-7-2016
;       
run; &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2020 17:52:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647182#M193653</guid>
      <dc:creator>ifti_ch2002</dc:creator>
      <dc:date>2020-05-12T17:52:08Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647184#M193655</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
infile datalines missover; 
   input IDnumber date  :mmddyy10. index_date :mmddyy10.;
   format date index_date mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 
1 4-7-2011 
1 4-7-2012 
1 4-7-2013 
1 4-7-2014 4-7-2014
1 4-7-2015 
1 4-7-2016 
1 4-7-2018 
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 
2 4-7-2013 
2 4-7-2014 
2 4-7-2015 
2 4-7-2016 4-7-2016
2 4-7-2017 
2 4-7-2018 
2 4-7-2019 
2 4-7-2020 
;       
run; 

data want;
 update have(obs=0) have;
 by IDnumber;
 output;
run;

proc print noobs;run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 May 2020 17:56:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647184#M193655</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-05-12T17:56:56Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647185#M193656</link>
      <description>&lt;P&gt;please try the below code and check &lt;CODE class=" language-sas"&gt;index_date2&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines missover; 
   input IDnumber date :mmddyy10. index_date : mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 .
1 4-7-2011 .
1 4-7-2012 .
1 4-7-2013 .
1 4-7-2014 4-7-2014
1 4-7-2015 .
1 4-7-2016 .
1 4-7-2018 .
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 .
2 4-7-2013 .
2 4-7-2014 .
2 4-7-2015 .
2 4-7-2016 4-7-2016
2 4-7-2017 .
2 4-7-2018 .
2 4-7-2019 .
2 4-7-2020 .
;       
run; 

data want;
set have;
by IDnumber notsorted;
retain index_date2;
if first.IDnumber then index_date2=.;
if index_date ne . then index_date2=index_date;
format index_date index_date2 date date9.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2020 17:59:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647185#M193656</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2020-05-12T17:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647187#M193657</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines missover; 
   input IDnumber @3 date  mmddyy. @12 index_date  mmddyy10.;
   retain index_date1;
   if not missing(index_date) then index_date1=index_date;
   format date index_date1 mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 
1 4-7-2011 
1 4-7-2012 
1 4-7-2013 
1 4-7-2014 4-7-2014
1 4-7-2015 
1 4-7-2016 
1 4-7-2018 
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 
2 4-7-2013 
2 4-7-2014 
2 4-7-2015 
2 4-7-2016 4-7-2016
2 4-7-2017 
2 4-7-2018 
2 4-7-2019 
2 4-7-2020 
;       
run; &lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 May 2020 18:00:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647187#M193657</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-05-12T18:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647210#M193662</link>
      <description>&lt;P&gt;Boring afternoon and so just for some fun&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines missover; 
   input IDnumber date  :mmddyy10. index_date :mmddyy10.;
   format date index_date mmddyy10.;
   datalines;  
1 4-7-2003 4-7-2003
1 4-7-2009 4-7-2009
1 4-7-2010 
1 4-7-2011 
1 4-7-2012 
1 4-7-2013 
1 4-7-2014 4-7-2014
1 4-7-2015 
1 4-7-2016 
1 4-7-2018 
2 4-7-2005 4-7-2005
2 4-7-2011 4-7-2011 
2 4-7-2012 
2 4-7-2013 
2 4-7-2014 
2 4-7-2015 
2 4-7-2016 4-7-2016
2 4-7-2017 
2 4-7-2018 
2 4-7-2019 
2 4-7-2020 
;       
run; 

data want;
 if _n_=1 then do;
  dcl hash H () ;
  h.definekey  ("IDnumber") ;
  h.definedata ("index_date") ;
  h.definedone () ;
 end;
 do _n_=h.clear() by 0 until(last.IDnumber);
  set have;
  by IDnumber;
  if nmiss(index_date) then h.find();
  else h.replace();
  output;
 end;
run;
proc print noobs;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 12 May 2020 18:55:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647210#M193662</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-05-12T18:55:04Z</dc:date>
    </item>
    <item>
      <title>Re: Repeat Index Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647970#M193980</link>
      <description>Thanks, we can even do with retain &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Fri, 15 May 2020 06:57:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Repeat-Index-Date/m-p/647970#M193980</guid>
      <dc:creator>ifti_ch2002</dc:creator>
      <dc:date>2020-05-15T06:57:26Z</dc:date>
    </item>
  </channel>
</rss>

