<?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: Filter on the maximum of two ID's for each Date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542830#M150023</link>
    <description>&lt;P&gt;Hi and welcome to the SAS communities &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is one approach&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Result_ID Version_Number Date:date9.;
format date date9.;
datalines;
3 2 29Dec2018
1 1 30Nov2018
5 4 31Dec2018
6 4 30Nov2018
10 8 31Dec2018
;

proc sql;
   create table want as
   select * from have
   where Date in ('30Nov2018'd, '31Dec2018'd)
   group by Date
   having Version_Number=max(Version_Number);
quit;

proc print data=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 13 Mar 2019 15:27:07 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2019-03-13T15:27:07Z</dc:date>
    <item>
      <title>Filter on the maximum of two ID's for each Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542810#M150011</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I am stuck at the following issue:&lt;BR /&gt;I want to filter my Data on two Dates ('31Dec2018'd,'30Nov2018'd), but I only need of each the maximum Version_Number AND then coming from this the maximum Result_ID.&lt;BR /&gt;&lt;BR /&gt;Example:&lt;BR /&gt;Result_ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Version_Number&amp;nbsp;&amp;nbsp;&amp;nbsp; Dates&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitrary_other_variables&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29Dec2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30Nov2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31Dec2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30Nov2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31Dec2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&lt;BR /&gt;Now the Output should be: First filter on the relevant Dates, then pick only those rows, which have the highest Version_Number (at first) and then the highest Result ID. Output should now look like this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Result_ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Version_Number&amp;nbsp;&amp;nbsp;&amp;nbsp; Dates&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitrary_other_variables&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30Nov2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31Dec2018&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So Far, I always need to look up on my self the highest Version number and then coming from this the highest Result ID&amp;nbsp;(which takes a high effort due to great amount of Data ) and enter this data in my code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;proc tabulate&lt;/FONT&gt; data=rc_res.creditrisk;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#3366FF"&gt;var&lt;/FONT&gt; bar_obl_amt zus_obl_amt;&lt;BR /&gt;&lt;FONT color="#3366FF"&gt;class&lt;/FONT&gt; date_dt;&lt;BR /&gt;&lt;FONT color="#3366FF"&gt;WHERE&lt;/FONT&gt; date_DT IN&lt;BR /&gt;(&lt;FONT color="#339966"&gt;'31Dec2018'd,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;'30Nov2018'd&lt;/FONT&gt;) AND AND VERSION_NR IN&lt;BR /&gt;(&lt;FONT color="#339966"&gt;4,8&lt;/FONT&gt;) AND RESULT_ID IN&lt;BR /&gt;(&lt;FONT color="#339966"&gt;6,10&lt;/FONT&gt;)&lt;BR /&gt;&lt;FONT color="#3366FF"&gt;TABLE&lt;/FONT&gt;&lt;BR /&gt;(ZUS_OBL_AMT BAR_OBL_AMT),&lt;BR /&gt;date_dt *( Sum={LABEL="&lt;FONT color="#FF00FF"&gt;Summe&lt;/FONT&gt;"} )&lt;BR /&gt;all = '&lt;FONT color="#FF00FF"&gt;Summe&lt;/FONT&gt;' *( Sum={LABEL="&lt;FONT color="#FF00FF"&gt;Summe&lt;/FONT&gt;"} ) ;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;run;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Is there any code with max or something else which would make it automatically ? Could you please help? I appreciate it a lot and I am really thankful for everyone trying to help me.&lt;BR /&gt;&lt;BR /&gt;Kind Regards&lt;BR /&gt;&lt;BR /&gt;Alex&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Mar 2019 14:38:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542810#M150011</guid>
      <dc:creator>Alex28</dc:creator>
      <dc:date>2019-03-13T14:38:02Z</dc:date>
    </item>
    <item>
      <title>Re: Filter on the maximum of two ID's for each Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542829#M150022</link>
      <description>&lt;P&gt;Something like this perhaps?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
   informat dates date9.;
   format dates date9.;
   input Result_ID    Version_Number    Dates     ;
datalines;
3    2    29Dec2018  
1    1    30Nov2018  
5    4    31Dec2018  
6    4    30Nov2018  
10   8    31Dec2018  
;
run;

Proc sort data=have (where=( dates in ('30NOV2018'd '31DEC2018'd)))
    out=temp;
    by descending version_number;
run;
data want;
   set temp (obs=2);
run;
&lt;/PRE&gt;
&lt;P&gt;Please not the use of 1) a data step to provide example data. That way we have data to test code with and 2) posting the code in a code box opened with the forum's {I} to preserve formatting. The main message windows here will reformat text removing white space. Also the code box is appropriate for posting LOG entries as many error messages include indicators where the error was found by SAS but the message windows will move those characters making the log less helpful.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Mar 2019 15:26:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542829#M150022</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-03-13T15:26:47Z</dc:date>
    </item>
    <item>
      <title>Re: Filter on the maximum of two ID's for each Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542830#M150023</link>
      <description>&lt;P&gt;Hi and welcome to the SAS communities &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is one approach&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Result_ID Version_Number Date:date9.;
format date date9.;
datalines;
3 2 29Dec2018
1 1 30Nov2018
5 4 31Dec2018
6 4 30Nov2018
10 8 31Dec2018
;

proc sql;
   create table want as
   select * from have
   where Date in ('30Nov2018'd, '31Dec2018'd)
   group by Date
   having Version_Number=max(Version_Number);
quit;

proc print data=want;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 13 Mar 2019 15:27:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542830#M150023</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-03-13T15:27:07Z</dc:date>
    </item>
    <item>
      <title>Re: Filter on the maximum of two ID's for each Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542848#M150037</link>
      <description>Thank you very much for your help and sorry for my mistakes</description>
      <pubDate>Wed, 13 Mar 2019 15:58:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542848#M150037</guid>
      <dc:creator>Alex28</dc:creator>
      <dc:date>2019-03-13T15:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: Filter on the maximum of two ID's for each Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542860#M150047</link>
      <description>WOW, thank you :)))</description>
      <pubDate>Wed, 13 Mar 2019 16:17:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Filter-on-the-maximum-of-two-ID-s-for-each-Date/m-p/542860#M150047</guid>
      <dc:creator>Alex28</dc:creator>
      <dc:date>2019-03-13T16:17:23Z</dc:date>
    </item>
  </channel>
</rss>

