<?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: Filling missing dates from last and first dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560012#M156471</link>
    <description>&lt;P&gt;Straight forward:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want1;
set have;
by isin;
retain _fy;
number = _n_; /* needed for later re-sorting */
if first.isin then _fy = .;
if fy ne .
then _fy = fy;
else fy = _fy;
drop _fy;
run;

proc sort data=want1;
by descending number;
run;

data want2;
set want1;
by descending isin;
retain _fy;
if first.isin then _fy = .;
if fy ne .
then _fy = fy;
else fy = _fy;
drop _fy;
run;

proc sort
  data=want2
  out=want (drop=number)
;
by number;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Assuming that have is sorted by isin.&lt;/P&gt;</description>
    <pubDate>Mon, 20 May 2019 06:51:30 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2019-05-20T06:51:30Z</dc:date>
    <item>
      <title>Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559846#M156400</link>
      <description>&lt;P&gt;Can anyone please help me to figure out how to fill the missing dates from the following data set. I appreciate your kind help. Thanks in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set:&lt;/P&gt;&lt;P&gt;ISIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FY&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2008&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2009&lt;/P&gt;&lt;P&gt;AAA&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;BBB&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;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/06/2008&lt;/P&gt;&lt;P&gt;BBB&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;CCC&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;CCC&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;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2010&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Zakir&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 18 May 2019 04:47:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559846#M156400</guid>
      <dc:creator>Zakir</dc:creator>
      <dc:date>2019-05-18T04:47:29Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559849#M156401</link>
      <description>&lt;P&gt;If you have more than one non-missing date for a ISIN, which one should take precedence?&lt;/P&gt;</description>
      <pubDate>Sat, 18 May 2019 06:12:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559849#M156401</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-05-18T06:12:31Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559860#M156405</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ISIN $ FY :ddmmyy10.;
format FY ddmmyy10.;
datalines;
AAA 31/12/2008
AAA 31/12/2009
AAA .
BBB .
BBB 30/06/2008
BBB .
CCC .
CCC .
CCC 31/12/2010
;

data want(drop=_:);
   do until (last.ISIN);
      set have;
      by ISIN;
      if FY ge _max then _max=FY;     
   end;
   do until (last.ISIN);
      set have;
      by ISIN;
      if FY=. then FY=_max; 
      output; 
   end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 18 May 2019 09:05:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559860#M156405</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-05-18T09:05:35Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559865#M156407</link>
      <description>&lt;P&gt;You didn't post the ouput you need yet .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ISIN $ FY :ddmmyy10.;
format FY ddmmyy10.;
datalines;
AAA 31/12/2008
AAA 31/12/2009
AAA .
BBB .
BBB 30/06/2008
BBB .
CCC .
CCC .
CCC 31/12/2010
;

data temp;
 set have;
 by isin;
 if first.isin then n=0;
 n+1;
run;
data key;
 set temp(where=(fy is not missing));
 by isin;
 if first.isin;
run;
data want;
 merge temp key(keep=fy n isin rename=(fy=_fy n=_n));
 by isin;
 if missing(fy) then fy=intnx('month',_fy,n-_n,'s');
 drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 18 May 2019 11:34:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/559865#M156407</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2019-05-18T11:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560002#M156467</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First let me thank you for your effort. The code is working but It did not yield what I wanted. May be I could not properly make the point clear. Let me restate the problem.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data I have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ISIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FY&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2008&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2009&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/06/2008&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2010&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data I want:&lt;/P&gt;&lt;P&gt;ISIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FY&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2008&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2009&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2010&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2007&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2008&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2009&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2008&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2009&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2010&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please help me!! Sorry for any inconveniences.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Zakir&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 05:28:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560002#M156467</guid>
      <dc:creator>Zakir</dc:creator>
      <dc:date>2019-05-20T05:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560003#M156468</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First let me thank you for your effort. The code is working but it did not yield what I wanted. May be I could not properly make the point clear. Let me restate the problem.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data I have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ISIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FY&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2008&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2009&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/06/2008&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2010&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data I want:&lt;/P&gt;&lt;P&gt;ISIN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FY&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2008&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2009&lt;/P&gt;&lt;P&gt;AAA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31/12/2010&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2007&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2008&lt;/P&gt;&lt;P&gt;BBB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30/06/2009&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2008&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2009&lt;/P&gt;&lt;P&gt;CCC&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31/12/2010&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please help me!! Sorry for any inconveniences.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Zakir&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 05:29:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560003#M156468</guid>
      <dc:creator>Zakir</dc:creator>
      <dc:date>2019-05-20T05:29:48Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560012#M156471</link>
      <description>&lt;P&gt;Straight forward:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want1;
set have;
by isin;
retain _fy;
number = _n_; /* needed for later re-sorting */
if first.isin then _fy = .;
if fy ne .
then _fy = fy;
else fy = _fy;
drop _fy;
run;

proc sort data=want1;
by descending number;
run;

data want2;
set want1;
by descending isin;
retain _fy;
if first.isin then _fy = .;
if fy ne .
then _fy = fy;
else fy = _fy;
drop _fy;
run;

proc sort
  data=want2
  out=want (drop=number)
;
by number;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Assuming that have is sorted by isin.&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 06:51:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560012#M156471</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-05-20T06:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: Filling missing dates from last and first dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560459#M156728</link>
      <description>&lt;P&gt;OK. There is some typo in my code. Change 'month' into 'year' :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ISIN $ FY :ddmmyy10.;
format FY ddmmyy10.;
datalines;
AAA 31/12/2008
AAA 31/12/2009
AAA .
BBB .
BBB 30/06/2008
BBB .
CCC .
CCC .
CCC 31/12/2010
;

data temp;
 set have;
 by isin;
 if first.isin then n=0;
 n+1;
run;
data key;
 set temp(where=(fy is not missing));
 by isin;
 if first.isin;
run;
data want;
 merge temp key(keep=fy n isin rename=(fy=_fy n=_n));
 by isin;
 if missing(fy) then fy=intnx('year',_fy,n-_n,'s');
 drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 May 2019 12:00:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filling-missing-dates-from-last-and-first-dates/m-p/560459#M156728</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2019-05-21T12:00:52Z</dc:date>
    </item>
  </channel>
</rss>

