<?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: Keep record based on condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590245#M168894</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;I freely admit that I love the double-DoW-loop solution by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;because (a) it aligns with my procedural programming proclivities and (b) one would be hard-pressed to find a more ardent proponent of the DoW-loop than myself. Just looking at the&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;program, I can understand its logic and what it's doing with the data better than any lengthy explanations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The SQL program below also works to attain the same result (and doesn't require &lt;EM&gt;explicit&lt;/EM&gt; sorting to boot - it sorts behind-the-scenes implicitly). However, (a) if I didn't write it myself, understanding what it's doing would be much harder for me compared to the DoW-loop, and (b) it doesn't guarantee that the output will retain the same relative record order.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                                                                                                                                                                                                                                                     
  input id startdate :mmddyy10. (startmonth yearmonth) (:$7.) ;                                                                                                                                                                                                 
  format startdate yymmdd10. ;                                                                                                                                                                                                                                  
  cards ;                                                                                                                                                                                                                                                       
1      4/8/2019       2019-04      2019-09                                                                                                                                                                                                                      
1      4/30/2019      2019-04      2019-09                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-07                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-08                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-09                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-05                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-06                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-07                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-08                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-09                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-04                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-03                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-04                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-05                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-06                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-07                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-08                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-09                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-03                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-04                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-05                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-06                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-07                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-08                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-09                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-03                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-04                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-05                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-06                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-07                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-08                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-09                                                                                                                                                                                                                      
5      5/1/2019       2019-05      2019-09                                                                                                                                                                                                                      
;                                                                                                                                                                                                                                                               
run ;                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
proc sql ;                                                                                                                                                                                                                                                      
  create table want as                                                                                                                                                                                                                                          
  select * from have                                                                                                                                                                                                                                            
  where startmonth = yearmonth                                                                                                                                                                                                                                  
  union                                                                                                                                                                                                                                                         
  select * from have                                                                                                                                                                                                                                            
  where id not in (select id from have where startmonth = yearmonth)                                                                                                                                                                                            
  group id                                                                                                                                                                                                                                                      
  having yearmonth = max (yearmonth)                                                                                                                                                                                                                            
  ;                                                                                                                                                                                                                                                             
quit ;                                             
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It's one of those rare cases when&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;would present a DATA step solution and I'd offer SQL. But for me, being rather SQL-maladroit, it's a useful exercise.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 20 Sep 2019 02:00:12 GMT</pubDate>
    <dc:creator>hashman</dc:creator>
    <dc:date>2019-09-20T02:00:12Z</dc:date>
    <item>
      <title>Keep record based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590179#M168874</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I Have following dataset. For&amp;nbsp;an&amp;nbsp;ID&amp;nbsp;&lt;U&gt;AND&lt;/U&gt; StartDate, I want to keep the record based on following criteria and order:&lt;/P&gt;&lt;P&gt;1. Keep a record with matching StartMonth and YearMonth. (For.eg. ID 4)&lt;/P&gt;&lt;P&gt;2. If matching start month is not available, then keep a record&amp;nbsp;with most recent YearMonth.(For.eg. ID 2)&lt;/P&gt;&lt;P&gt;3. If matching start month is not available and only one&amp;nbsp;YearMonth is available, then keep the record with that YearMonth (For.eg. ID 5)&lt;/P&gt;&lt;P&gt;(There are no missing values is all the variable and there are other variables than what is shown here in sample dataset.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset Have:&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;StartMonth&lt;/TD&gt;&lt;TD&gt;YearMonth&lt;/TD&gt;&lt;TD&gt;company&lt;/TD&gt;&lt;TD&gt;area&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/8/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4/29/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;wr&lt;/TD&gt;&lt;TD&gt;barron&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4/29/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;wr&lt;/TD&gt;&lt;TD&gt;eau claire&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4/29/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;wr&lt;/TD&gt;&lt;TD&gt;eau claire&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;um&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;5/1/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-03&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-08&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset Want:&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;StartMonth&lt;/TD&gt;&lt;TD&gt;YearMonth&lt;/TD&gt;&lt;TD&gt;company&lt;/TD&gt;&lt;TD&gt;area&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/8/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4/29/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;wr&lt;/TD&gt;&lt;TD&gt;eau claire&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6/17/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4/1/2019&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;2019-04&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6/5/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/23/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;5/1/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-09&lt;/TD&gt;&lt;TD&gt;aw&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;6/3/2019&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;2019-06&lt;/TD&gt;&lt;TD&gt;ro&lt;/TD&gt;&lt;TD&gt;mke&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/25/2019&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;2019-05&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;7/15/2019&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;2019-07&lt;/TD&gt;&lt;TD&gt;fs&lt;/TD&gt;&lt;TD&gt;door&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Appreciate any help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Sep 2019 20:01:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590179#M168874</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2019-09-19T20:01:54Z</dc:date>
    </item>
    <item>
      <title>Re: Keep record based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590225#M168881</link>
      <description>&lt;P&gt;This should do it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
do until(last.StartDate);
    set have; by id StartDate;
    if startMonth=yearMonth then match = 1;
    if yearMonth &amp;gt; mrym then mrym = yearMonth;
    end;
do until(last.StartDate);
    set have; by id StartDate;
    if match then do;
        if startMonth=yearMonth then output;
        end;
    else if yearMonth = mrym then output;
    end;
drop match mrym;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 19 Sep 2019 22:20:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590225#M168881</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-09-19T22:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: Keep record based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590245#M168894</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;I freely admit that I love the double-DoW-loop solution by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;because (a) it aligns with my procedural programming proclivities and (b) one would be hard-pressed to find a more ardent proponent of the DoW-loop than myself. Just looking at the&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;program, I can understand its logic and what it's doing with the data better than any lengthy explanations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The SQL program below also works to attain the same result (and doesn't require &lt;EM&gt;explicit&lt;/EM&gt; sorting to boot - it sorts behind-the-scenes implicitly). However, (a) if I didn't write it myself, understanding what it's doing would be much harder for me compared to the DoW-loop, and (b) it doesn't guarantee that the output will retain the same relative record order.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                                                                                                                                                                                                                                                     
  input id startdate :mmddyy10. (startmonth yearmonth) (:$7.) ;                                                                                                                                                                                                 
  format startdate yymmdd10. ;                                                                                                                                                                                                                                  
  cards ;                                                                                                                                                                                                                                                       
1      4/8/2019       2019-04      2019-09                                                                                                                                                                                                                      
1      4/30/2019      2019-04      2019-09                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-07                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-08                                                                                                                                                                                                                      
2      4/29/2019      2019-04      2019-09                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-05                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-06                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-07                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-08                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-09                                                                                                                                                                                                                      
3      6/17/2019      2019-06      2019-04                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-03                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-04                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-05                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-06                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-07                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-08                                                                                                                                                                                                                      
4      4/1/2019       2019-04      2019-09                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-03                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-04                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-05                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-06                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-07                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-08                                                                                                                                                                                                                      
4      6/5/2019       2019-06      2019-09                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-03                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-04                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-05                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-06                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-07                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-08                                                                                                                                                                                                                      
4      7/23/2019      2019-07      2019-09                                                                                                                                                                                                                      
5      5/1/2019       2019-05      2019-09                                                                                                                                                                                                                      
;                                                                                                                                                                                                                                                               
run ;                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                
proc sql ;                                                                                                                                                                                                                                                      
  create table want as                                                                                                                                                                                                                                          
  select * from have                                                                                                                                                                                                                                            
  where startmonth = yearmonth                                                                                                                                                                                                                                  
  union                                                                                                                                                                                                                                                         
  select * from have                                                                                                                                                                                                                                            
  where id not in (select id from have where startmonth = yearmonth)                                                                                                                                                                                            
  group id                                                                                                                                                                                                                                                      
  having yearmonth = max (yearmonth)                                                                                                                                                                                                                            
  ;                                                                                                                                                                                                                                                             
quit ;                                             
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It's one of those rare cases when&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;would present a DATA step solution and I'd offer SQL. But for me, being rather SQL-maladroit, it's a useful exercise.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2019 02:00:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590245#M168894</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-09-20T02:00:12Z</dc:date>
    </item>
    <item>
      <title>Re: Keep record based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590427#M168978</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;: Always interesting to see different approaches. The sample data provided by the OP are a bit tricky in that they don't contain all possible cases. (Of course, I don't know what is really "possible" in that context.) With two small changes -- &lt;FONT face="courier new,courier"&gt;yearmonth='2019-0&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;8&lt;/FONT&gt;&lt;/STRONG&gt;'&lt;/FONT&gt;&amp;nbsp;(instead of &lt;FONT face="courier new,courier"&gt;-0&lt;STRONG&gt;9&lt;/STRONG&gt;&lt;/FONT&gt;) in the first observation and&amp;nbsp;&lt;FONT face="courier new,courier"&gt;yearmonth='2019-0&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;'&lt;/FONT&gt;&amp;nbsp;(instead of &lt;FONT face="courier new,courier"&gt;-0&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/FONT&gt;) in the 13th (that is for &lt;FONT face="courier new,courier"&gt;ID 4&lt;/FONT&gt;, &lt;FONT face="courier new,courier"&gt;startdate 4/1/2019&lt;/FONT&gt;) -- I'm afraid your PROC SQL step would fail to select an observation for the two corresponding "ID-STARTDATE BY groups" because for the second table of the "union" only ID is used to identify groups of observations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A simple fix (for that second table) would be&lt;/P&gt;
&lt;PRE&gt;  select * from have
  where &lt;STRONG&gt;catx(',',id,startdate)&lt;/STRONG&gt; not in (select &lt;STRONG&gt;catx(',',id,startdate)&lt;/STRONG&gt; from have where startmonth = yearmonth)
  group id&lt;STRONG&gt;, startdate&lt;/STRONG&gt;
  having yearmonth = max (yearmonth)&lt;/PRE&gt;
&lt;P&gt;Another option:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  select a.* from have a left join have(where=(startmonth=yearmonth)) b
  on a.id=b.id &amp;amp; a.startdate=b.startdate
  where b.id=.
  group a.id, a.startdate
  having a.yearmonth = max (a.yearmonth)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;In a test with a larger HAVE dataset (~300,000 obs., WANT ~71,000 obs.) these were equally fast (but slower than the DATA step), whereas a more concise correlated subquery (&lt;FONT face="courier new,courier"&gt;where not exists (...)&lt;/FONT&gt;) was extremely slow.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2019 14:50:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590427#M168978</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2019-09-20T14:50:18Z</dc:date>
    </item>
    <item>
      <title>Re: Keep record based on condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590435#M168980</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;&amp;nbsp;and &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Thank you all&amp;nbsp;so much for responding.&lt;/P&gt;&lt;P&gt;The codes by &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt;&amp;nbsp;and &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;&amp;nbsp;both worked in the sample dataset I provided. But two codes returned me with different number of observations in my real dataset.&amp;nbsp; I compared the results of two codes in my real dataset and&amp;nbsp;looked for&amp;nbsp;IDs with different no. of records. Like &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;&amp;nbsp;said,&amp;nbsp;my sample dataset&amp;nbsp;may not have&amp;nbsp;contained&amp;nbsp;all possible cases even though I strived for it. So I created new sample dataset (see below) from original dataset. Data step code is returning the result as intended. It looks like SQL code is picking most recent StartDate only for an ID. I will try the fix &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;&amp;nbsp;suggested. Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; have_new ; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; id startdate :&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;mmddyy10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; (startmonth yearmonth) (:&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;$7.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;) ; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;format&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; startdate &lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="2"&gt;yymmdd10.&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="2"&gt;cards&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt; ; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;100 5/19/2019 2019-05 2019-06&lt;/P&gt;&lt;P&gt;100 5/19/2019 2019-05 2019-07&lt;/P&gt;&lt;P&gt;100 5/19/2019 2019-05 2019-08&lt;/P&gt;&lt;P&gt;100 5/19/2019 2019-05 2019-09&lt;/P&gt;&lt;P&gt;100 7/27/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;100 7/27/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;100 7/27/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;100 7/27/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;200 5/6/2019 2019-05 2019-06&lt;/P&gt;&lt;P&gt;200 5/6/2019 2019-05 2019-07&lt;/P&gt;&lt;P&gt;200 5/6/2019 2019-05 2019-08&lt;/P&gt;&lt;P&gt;200 5/6/2019 2019-05 2019-09&lt;/P&gt;&lt;P&gt;200 6/6/2019 2019-06 2019-06&lt;/P&gt;&lt;P&gt;200 6/6/2019 2019-06 2019-07&lt;/P&gt;&lt;P&gt;200 6/6/2019 2019-06 2019-08&lt;/P&gt;&lt;P&gt;200 6/6/2019 2019-06 2019-09&lt;/P&gt;&lt;P&gt;200 7/17/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;200 7/17/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;200 7/17/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;200 7/17/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;300 4/15/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;300 4/15/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;300 4/15/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;300 7/24/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;300 7/24/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;300 7/24/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;400 5/7/2019 2019-05 2019-06&lt;/P&gt;&lt;P&gt;400 5/7/2019 2019-05 2019-07&lt;/P&gt;&lt;P&gt;400 5/7/2019 2019-05 2019-08&lt;/P&gt;&lt;P&gt;400 5/7/2019 2019-05 2019-09&lt;/P&gt;&lt;P&gt;400 7/25/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;400 7/25/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;400 7/25/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;400 7/25/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;500 4/15/2019 2019-04 2019-05&lt;/P&gt;&lt;P&gt;500 4/15/2019 2019-04 2019-06&lt;/P&gt;&lt;P&gt;500 4/15/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;500 4/15/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;500 4/15/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;500 6/12/2019 2019-06 2019-05&lt;/P&gt;&lt;P&gt;500 6/12/2019 2019-06 2019-06&lt;/P&gt;&lt;P&gt;500 6/12/2019 2019-06 2019-07&lt;/P&gt;&lt;P&gt;500 6/12/2019 2019-06 2019-08&lt;/P&gt;&lt;P&gt;500 6/12/2019 2019-06 2019-09&lt;/P&gt;&lt;P&gt;600 4/1/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;600 4/1/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;600 4/1/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;600 7/29/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;600 7/29/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;600 7/29/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;700 3/15/2019 2019-03 2019-05&lt;/P&gt;&lt;P&gt;700 3/15/2019 2019-03 2019-06&lt;/P&gt;&lt;P&gt;700 3/15/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;700 3/15/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;700 3/15/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;700 6/14/2019 2019-06 2019-05&lt;/P&gt;&lt;P&gt;700 6/14/2019 2019-06 2019-06&lt;/P&gt;&lt;P&gt;700 6/14/2019 2019-06 2019-07&lt;/P&gt;&lt;P&gt;700 6/14/2019 2019-06 2019-08&lt;/P&gt;&lt;P&gt;700 6/14/2019 2019-06 2019-09&lt;/P&gt;&lt;P&gt;800 4/17/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;800 4/17/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;800 4/17/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;800 7/10/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;800 7/10/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;800 7/10/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;900 5/21/2019 2019-05 2019-07&lt;/P&gt;&lt;P&gt;900 5/21/2019 2019-05 2019-08&lt;/P&gt;&lt;P&gt;900 5/21/2019 2019-05 2019-09&lt;/P&gt;&lt;P&gt;900 7/31/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;900 7/31/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;900 7/31/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;1000 6/17/2019 2019-06 2019-07&lt;/P&gt;&lt;P&gt;1000 6/17/2019 2019-06 2019-08&lt;/P&gt;&lt;P&gt;1000 6/17/2019 2019-06 2019-09&lt;/P&gt;&lt;P&gt;1000 7/12/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;1000 7/12/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;1000 7/12/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;2000 3/12/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;2000 3/12/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;2000 3/12/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;2000 7/29/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;2000 7/29/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;2000 7/29/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-04&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-05&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-06&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;3000 3/18/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-04&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-05&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-06&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-07&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-08&lt;/P&gt;&lt;P&gt;3000 5/9/2019 2019-05 2019-09&lt;/P&gt;&lt;P&gt;4000 3/23/2019 2019-03 2019-06&lt;/P&gt;&lt;P&gt;4000 3/23/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;4000 3/23/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;4000 3/23/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;4000 7/13/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;4000 7/13/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;4000 7/13/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;4000 7/13/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;5000 4/1/2019 2019-04 2019-05&lt;/P&gt;&lt;P&gt;5000 4/1/2019 2019-04 2019-06&lt;/P&gt;&lt;P&gt;5000 4/1/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;5000 4/1/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;5000 4/1/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;5000 6/26/2019 2019-06 2019-05&lt;/P&gt;&lt;P&gt;5000 6/26/2019 2019-06 2019-06&lt;/P&gt;&lt;P&gt;5000 6/26/2019 2019-06 2019-07&lt;/P&gt;&lt;P&gt;5000 6/26/2019 2019-06 2019-08&lt;/P&gt;&lt;P&gt;5000 6/26/2019 2019-06 2019-09&lt;/P&gt;&lt;P&gt;6000 3/23/2019 2019-03 2019-06&lt;/P&gt;&lt;P&gt;6000 3/23/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;6000 3/23/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;6000 3/23/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;6000 4/16/2019 2019-04 2019-06&lt;/P&gt;&lt;P&gt;6000 4/16/2019 2019-04 2019-07&lt;/P&gt;&lt;P&gt;6000 4/16/2019 2019-04 2019-08&lt;/P&gt;&lt;P&gt;6000 4/16/2019 2019-04 2019-09&lt;/P&gt;&lt;P&gt;6000 7/2/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;6000 7/2/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;6000 7/2/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;6000 7/2/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;7000 3/8/2019 2019-03 2019-05&lt;/P&gt;&lt;P&gt;7000 3/8/2019 2019-03 2019-06&lt;/P&gt;&lt;P&gt;7000 3/8/2019 2019-03 2019-07&lt;/P&gt;&lt;P&gt;7000 3/8/2019 2019-03 2019-08&lt;/P&gt;&lt;P&gt;7000 3/8/2019 2019-03 2019-09&lt;/P&gt;&lt;P&gt;7000 7/2/2019 2019-07 2019-05&lt;/P&gt;&lt;P&gt;7000 7/2/2019 2019-07 2019-06&lt;/P&gt;&lt;P&gt;7000 7/2/2019 2019-07 2019-07&lt;/P&gt;&lt;P&gt;7000 7/2/2019 2019-07 2019-08&lt;/P&gt;&lt;P&gt;7000 7/2/2019 2019-07 2019-09&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="2"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2019 15:13:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Keep-record-based-on-condition/m-p/590435#M168980</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2019-09-20T15:13:50Z</dc:date>
    </item>
  </channel>
</rss>

