<?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: Finding the Minimum Date after a Prior Event Date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596441#M171726</link>
    <description>&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;&amp;nbsp;already stated, test your code before posting it here.&lt;/P&gt;
&lt;P&gt;Stealing his corrected code, see this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sample;
input id $ (dx_dt event_dt1 event_dt2 event_dt3) (:mmddyy10.);
format dx_dt event_dt1 event_dt2 event_dt3 date9.;
datalines;
1 1/1/2005 1/2/2002 1/4/2007 1/6/2008
2 3/4/2005 1/5/2006 7/1/2005 1/1/2004
3 4/4/2006 6/1/2005 1/9/2003 10/1/2007
4 5/5/2007 1/7/2009 3/1/2008 1/3/2005
;
run;

proc transpose data=sample out=trans (drop=_name_ rename=(col1=event_dt));
by id dx_dt;
var event:;
run;

proc sort data=trans;
by id dx_dt event_dt;
run;

data want;
set trans (where=(event_dt &amp;gt; dx_dt));
by id dx_dt;
if first.dx_dt;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that the first two steps are only there to bring your data to a sensible structure and order (this should be the natural state of the dataset), so that the actual analysis step becomes very easy.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Oct 2019 07:41:14 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2019-10-15T07:41:14Z</dc:date>
    <item>
      <title>Finding the Minimum Date after a Prior Event Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596423#M171720</link>
      <description>&lt;P&gt;I have the following data :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA have;
        INPUT id dx_dt event_dt1 event_dt2 event_dt3;
        DATALINES;
           id  dx_dt   event_dt1 event_dt2 event_dt3
           1  1/1/2005 1/2/2002  1/4/2007  1/6/2008
           2  3/4/2005 1/5/2006  7/1/2005  1/1/2004
           3  4/4/2006 6/1/2005  1/9/2003  10/1/2007
           4  5/5/2007 1/7/2009  3/1/2008  1/3/2005
           ;
Run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I would like to &lt;SPAN class="lia-search-match-lithium"&gt;find&lt;/SPAN&gt; the earliest of the 3 events that happened after the diagnosis&amp;nbsp;date.&lt;/P&gt;&lt;P&gt;I am aware I can use min_date = min (event_dt1, event_dt2, event_dt3) but how do I add a caveat to find the minimum after the dx_dt. So min_date after diagnosis for id1 is 1/4/2007, for id2 is 7/1/2005 and so on.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2019 03:37:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596423#M171720</guid>
      <dc:creator>Doyinsola</dc:creator>
      <dc:date>2019-10-15T03:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: Finding the Minimum Date after a Prior Event Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596431#M171721</link>
      <description>&lt;P&gt;Please try and post tested syntax for creating sample data. This allows us to spend the time supporting you with your actual problem.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sample;
  input id $ (dx_dt event_dt1 event_dt2 event_dt3) (:mmddyy10.);
  format dx_dt event_dt1 event_dt2 event_dt3 date9.;
  array events event_dt:;
  format min_event_dt date9.;
  do over events;
    if dx_dt&amp;lt;=events then min_event_dt=min(min_event_dt,events);
  end;
  datalines;
1 1/1/2005 1/2/2002 1/4/2007 1/6/2008
2 3/4/2005 1/5/2006 7/1/2005 1/1/2004
3 4/4/2006 6/1/2005 1/9/2003 10/1/2007
4 5/5/2007 1/7/2009 3/1/2008 1/3/2005
;
run;
proc print;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 15 Oct 2019 05:11:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596431#M171721</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2019-10-15T05:11:14Z</dc:date>
    </item>
    <item>
      <title>Re: Finding the Minimum Date after a Prior Event Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596441#M171726</link>
      <description>&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12447"&gt;@Patrick&lt;/a&gt;&amp;nbsp;already stated, test your code before posting it here.&lt;/P&gt;
&lt;P&gt;Stealing his corrected code, see this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sample;
input id $ (dx_dt event_dt1 event_dt2 event_dt3) (:mmddyy10.);
format dx_dt event_dt1 event_dt2 event_dt3 date9.;
datalines;
1 1/1/2005 1/2/2002 1/4/2007 1/6/2008
2 3/4/2005 1/5/2006 7/1/2005 1/1/2004
3 4/4/2006 6/1/2005 1/9/2003 10/1/2007
4 5/5/2007 1/7/2009 3/1/2008 1/3/2005
;
run;

proc transpose data=sample out=trans (drop=_name_ rename=(col1=event_dt));
by id dx_dt;
var event:;
run;

proc sort data=trans;
by id dx_dt event_dt;
run;

data want;
set trans (where=(event_dt &amp;gt; dx_dt));
by id dx_dt;
if first.dx_dt;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that the first two steps are only there to bring your data to a sensible structure and order (this should be the natural state of the dataset), so that the actual analysis step becomes very easy.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2019 07:41:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Finding-the-Minimum-Date-after-a-Prior-Event-Date/m-p/596441#M171726</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-15T07:41:14Z</dc:date>
    </item>
  </channel>
</rss>

