<?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: Select Earliest date if different, otherwise use different criteria in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633042#M187766</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182623"&gt;@MB_Analyst&lt;/a&gt;&amp;nbsp; Assuming your sample is a representative one and is already sorted in ascending Id Date var,&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;                    
   input ID DATE :date9. varx $1.;     
   format date date9.;
   datalines;            
1 01JAN2020 A
1 03JAN2020 B
2 01MAR2020 A
2 01MAR2020 B
; 
data want;
 do _n_=1 by 1 until(last.id);
  do until(last.date);
   set have;
   by id date;
  end;
  if _n_=1 then output;
 end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;DATE&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;varx&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;01JAN2020&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;01MAR2020&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 18 Mar 2020 18:04:00 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2020-03-18T18:04:00Z</dc:date>
    <item>
      <title>Select Earliest date if different, otherwise use different criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633029#M187756</link>
      <description>&lt;P&gt;My data has multiple records per ID, where the date sometimes differs, and doesn't in other cases.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;                    
   input ID DATE varx;     
   datalines;            
1 01JAN2020 A&lt;BR /&gt;1 03JAN2020 B&lt;BR /&gt;2 01MAR2020 A&lt;BR /&gt;2 01MAR2020 B
;                 &lt;STRONG&gt;[5]&lt;/STRONG&gt;            
&lt;/PRE&gt;
&lt;P&gt;I want to select the earliest date of an ID, unless they have the same date, where I then want to select the record with "B". I'm not sure how to switch between criteria to first look at date, but then use different criteria if the date is the same.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Desired output:&lt;/P&gt;
&lt;P&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp;DATE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;varx&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;01JAN2020&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&lt;/P&gt;
&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp;01MAR2020&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2020 17:34:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633029#M187756</guid>
      <dc:creator>MB_Analyst</dc:creator>
      <dc:date>2020-03-18T17:34:42Z</dc:date>
    </item>
    <item>
      <title>Re: Select Earliest date if different, otherwise use different criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633036#M187761</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182623"&gt;@MB_Analyst&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is an approach to achieve this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;                    
   input ID DATE:date9. varx $;
   format DATE date9.;
   datalines;            
1 01JAN2020 A
1 03JAN2020 B
2 01MAR2020 A
2 01MAR2020 B
;

proc sort data=have out=have_sorted nodupkey;
	by ID DATE descending varx;
run;

data want;
	set have_sorted;
	by ID DATE descending varx;
	if first.ID then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 18 Mar 2020 17:47:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633036#M187761</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2020-03-18T17:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: Select Earliest date if different, otherwise use different criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633038#M187763</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;                    
   input ID DATE :date9. varx $;
   format DATE date9.;
   datalines;
1 01JAN2020 A
1 03JAN2020 B
2 01MAR2020 A
2 01MAR2020 B
;

proc sort data=have;
	by ID DATE descending varx;
run;

data want;
	set have_sorted;
	by ID DATE descending varx;
	if first.ID then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 18 Mar 2020 17:48:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633038#M187763</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-03-18T17:48:40Z</dc:date>
    </item>
    <item>
      <title>Re: Select Earliest date if different, otherwise use different criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633042#M187766</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/182623"&gt;@MB_Analyst&lt;/a&gt;&amp;nbsp; Assuming your sample is a representative one and is already sorted in ascending Id Date var,&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;                    
   input ID DATE :date9. varx $1.;     
   format date date9.;
   datalines;            
1 01JAN2020 A
1 03JAN2020 B
2 01MAR2020 A
2 01MAR2020 B
; 
data want;
 do _n_=1 by 1 until(last.id);
  do until(last.date);
   set have;
   by id date;
  end;
  if _n_=1 then output;
 end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;DATE&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;varx&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;01JAN2020&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;01MAR2020&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2020 18:04:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-Earliest-date-if-different-otherwise-use-different/m-p/633042#M187766</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-03-18T18:04:00Z</dc:date>
    </item>
  </channel>
</rss>

