<?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 How use lead function with dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-use-lead-function-with-dates/m-p/622288#M183045</link>
    <description>&lt;P&gt;Hello Users,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working on criteria set as below&lt;/P&gt;&lt;P&gt;&amp;gt; Find ID's which who have at least 3 rows&amp;nbsp;- date in second row within 12&amp;nbsp;months of first row and date in third row within 6 months of second row.&lt;/P&gt;&lt;P&gt;Here is a sample data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#ID&lt;/TD&gt;&lt;TD&gt;Startdate&lt;/TD&gt;&lt;TD&gt;Enddate&lt;/TD&gt;&lt;TD&gt;Date_diff&lt;/TD&gt;&lt;TD&gt;Months&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;3/6/2007&lt;/TD&gt;&lt;TD&gt;3/6/2007&lt;/TD&gt;&lt;TD&gt;*&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;9/17/2007&lt;/TD&gt;&lt;TD&gt;9/17/2007&lt;/TD&gt;&lt;TD&gt;195&lt;/TD&gt;&lt;TD&gt;6.414474&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;10/16/2008&lt;/TD&gt;&lt;TD&gt;10/16/2008&lt;/TD&gt;&lt;TD&gt;395&lt;/TD&gt;&lt;TD&gt;12.99342&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;12/19/2009&lt;/TD&gt;&lt;TD&gt;12/19/2009&lt;/TD&gt;&lt;TD&gt;429&lt;/TD&gt;&lt;TD&gt;14.11184&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;11/8/2011&lt;/TD&gt;&lt;TD&gt;11/19/2011&lt;/TD&gt;&lt;TD&gt;*&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;7/19/2012&lt;/TD&gt;&lt;TD&gt;7/21/2012&lt;/TD&gt;&lt;TD&gt;243&lt;/TD&gt;&lt;TD&gt;7.993421&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;5/31/2013&lt;/TD&gt;&lt;TD&gt;6/2/2013&lt;/TD&gt;&lt;TD&gt;314&lt;/TD&gt;&lt;TD&gt;10.32895&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;7/7/2013&lt;/TD&gt;&lt;TD&gt;7/8/2012&lt;/TD&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;1.151316&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;4/10/2014&lt;/TD&gt;&lt;TD&gt;4/11/2014&lt;/TD&gt;&lt;TD&gt;641&lt;/TD&gt;&lt;TD&gt;21.08553&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Date_diff come from substracting lag(enddate) with Startdate.&lt;/P&gt;&lt;P&gt;Based on the criteria mentioned above. Only ID 155 should be in the output as it has 3 consecutive rows with a&amp;nbsp;row date_diff &amp;lt; 12 months and a next&amp;nbsp;consecutive row&amp;nbsp;with date_diff &amp;lt; 6 months. This should be BY ID.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Tue, 04 Feb 2020 19:44:54 GMT</pubDate>
    <dc:creator>Schen</dc:creator>
    <dc:date>2020-02-04T19:44:54Z</dc:date>
    <item>
      <title>How use lead function with dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-use-lead-function-with-dates/m-p/622288#M183045</link>
      <description>&lt;P&gt;Hello Users,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working on criteria set as below&lt;/P&gt;&lt;P&gt;&amp;gt; Find ID's which who have at least 3 rows&amp;nbsp;- date in second row within 12&amp;nbsp;months of first row and date in third row within 6 months of second row.&lt;/P&gt;&lt;P&gt;Here is a sample data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;#ID&lt;/TD&gt;&lt;TD&gt;Startdate&lt;/TD&gt;&lt;TD&gt;Enddate&lt;/TD&gt;&lt;TD&gt;Date_diff&lt;/TD&gt;&lt;TD&gt;Months&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;3/6/2007&lt;/TD&gt;&lt;TD&gt;3/6/2007&lt;/TD&gt;&lt;TD&gt;*&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;9/17/2007&lt;/TD&gt;&lt;TD&gt;9/17/2007&lt;/TD&gt;&lt;TD&gt;195&lt;/TD&gt;&lt;TD&gt;6.414474&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;10/16/2008&lt;/TD&gt;&lt;TD&gt;10/16/2008&lt;/TD&gt;&lt;TD&gt;395&lt;/TD&gt;&lt;TD&gt;12.99342&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;143&lt;/TD&gt;&lt;TD&gt;12/19/2009&lt;/TD&gt;&lt;TD&gt;12/19/2009&lt;/TD&gt;&lt;TD&gt;429&lt;/TD&gt;&lt;TD&gt;14.11184&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;11/8/2011&lt;/TD&gt;&lt;TD&gt;11/19/2011&lt;/TD&gt;&lt;TD&gt;*&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;7/19/2012&lt;/TD&gt;&lt;TD&gt;7/21/2012&lt;/TD&gt;&lt;TD&gt;243&lt;/TD&gt;&lt;TD&gt;7.993421&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;5/31/2013&lt;/TD&gt;&lt;TD&gt;6/2/2013&lt;/TD&gt;&lt;TD&gt;314&lt;/TD&gt;&lt;TD&gt;10.32895&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;7/7/2013&lt;/TD&gt;&lt;TD&gt;7/8/2012&lt;/TD&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;1.151316&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;155&lt;/TD&gt;&lt;TD&gt;4/10/2014&lt;/TD&gt;&lt;TD&gt;4/11/2014&lt;/TD&gt;&lt;TD&gt;641&lt;/TD&gt;&lt;TD&gt;21.08553&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Date_diff come from substracting lag(enddate) with Startdate.&lt;/P&gt;&lt;P&gt;Based on the criteria mentioned above. Only ID 155 should be in the output as it has 3 consecutive rows with a&amp;nbsp;row date_diff &amp;lt; 12 months and a next&amp;nbsp;consecutive row&amp;nbsp;with date_diff &amp;lt; 6 months. This should be BY ID.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2020 19:44:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-use-lead-function-with-dates/m-p/622288#M183045</guid>
      <dc:creator>Schen</dc:creator>
      <dc:date>2020-02-04T19:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: How use lead function with dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-use-lead-function-with-dates/m-p/622295#M183046</link>
      <description>&lt;P&gt;For this application sort by descending date so you are on the row you want to output when you have the information you need to make the decision.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
  input ID $ Startdate Enddate ;
  informat Startdate Enddate mmddyy.;
  format Startdate Enddate yymmdd10.;
cards;
143 3/6/2007 3/6/2007 
143 9/17/2007 9/17/2007 
143 10/16/2008 10/16/2008 
143 12/19/2009 12/19/2009 
155 11/8/2011 11/19/2011 
155 7/19/2012 7/21/2012 
155 5/31/2013 6/2/2013 
155 7/7/2013 7/8/2012 
155 4/10/2014 4/11/2014 
;

proc sort data=have ;
  by id descending Startdate ;
run;

data want ;
  set have ;
  by id ;
  dif1 = sum(-startdate,lag1(startdate));
  dif2 = sum(-startdate,lag2(startdate));
  if first.id then dif1=.;
  if first.id or lag(first.id) then dif2=.;
  flag= dif2&amp;gt;360 and dif1&amp;gt;180 ;
run;

proc print;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;Obs    ID      Startdate       Enddate    dif1    dif2    flag

 1     143    2009-12-19    2009-12-19       .       .      0
 2     143    2008-10-16    2008-10-16     429       .      0
 3     143    2007-09-17    2007-09-17     395     824      1
 4     143    2007-03-06    2007-03-06     195     590      1
 5     155    2014-04-10    2014-04-11       .       .      0
 6     155    2013-07-07    2012-07-08     277       .      0
 7     155    2013-05-31    2013-06-02      37     314      0
 8     155    2012-07-19    2012-07-21     316     353      0
 9     155    2011-11-08    2011-11-19     254     570      1
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2020 20:16:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-use-lead-function-with-dates/m-p/622295#M183046</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-02-04T20:16:25Z</dc:date>
    </item>
  </channel>
</rss>

