<?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 row in multiple rows by several conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367512#M87500</link>
    <description>&lt;P&gt;Sorry about that. I've edit the message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
    <pubDate>Thu, 15 Jun 2017 21:34:39 GMT</pubDate>
    <dc:creator>echoli</dc:creator>
    <dc:date>2017-06-15T21:34:39Z</dc:date>
    <item>
      <title>select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367504#M87495</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data below. I want to select rows meet criterias:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1. if the ID is unique (just one record) then retain it.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2. if the ID has multiple records, after proc sort data, choose the first record that result &amp;gt;= 30.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3. if the ID has multiple records, after proc sort data, if all the results for this ID &amp;lt;30 then retain the largest value.&lt;/P&gt;&lt;P&gt;I can do 1 and 3 criteria, but no idea about 2. Any one can help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; input ID &amp;nbsp; Date mmddyy10. &amp;nbsp;Result;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;14022&amp;nbsp; 6/22/2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;14032&amp;nbsp; 6/28/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;14032&amp;nbsp; 2/7/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;14102&amp;nbsp; 4/13/2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;14102&amp;nbsp; 6/24/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;14129&amp;nbsp; 11/8/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&lt;/P&gt;&lt;P&gt;14129&amp;nbsp; 12/29/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24&lt;/P&gt;&lt;P&gt;14209&amp;nbsp; 9/29/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;14209&amp;nbsp; 9/24/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;14238&amp;nbsp; 8/18/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;14273&amp;nbsp; 5/31/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18&lt;/P&gt;&lt;P&gt;14399&amp;nbsp; 1/21/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;14399&amp;nbsp; 4/10/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;14424&amp;nbsp; 11/6/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;14593&amp;nbsp; 11/8/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;14593&amp;nbsp; 5/31/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P&gt;14593&amp;nbsp; 1/7/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26&lt;/P&gt;&lt;P&gt;14593&amp;nbsp; 9/13/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 46&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 8/29/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 2/29/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 1/30/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 11/15/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 7/21/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;14601&amp;nbsp; 8/24/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/P&gt;&lt;P&gt;14621&amp;nbsp; 11/10/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;14621&amp;nbsp; 1/24/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/P&gt;&lt;P&gt;14726&amp;nbsp; 11/20/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11&lt;/P&gt;&lt;P&gt;14726&amp;nbsp; 10/14/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/P&gt;&lt;P&gt;14726&amp;nbsp; 3/27/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;14868&amp;nbsp; 10/11/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/P&gt;&lt;P&gt;14868&amp;nbsp; 5/28/2009&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;15597&amp;nbsp; 7/3/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;15597&amp;nbsp; 8/24/2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;/P&gt;&lt;P&gt;17246&amp;nbsp; 6/10/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;17246&amp;nbsp; 10/9/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;17638&amp;nbsp; 6/11/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;17638&amp;nbsp; 1/3/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;17672&amp;nbsp; 5/17/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;17950&amp;nbsp; 5/14/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;17950&amp;nbsp; 3/13/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;17950&amp;nbsp; 4/20/2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;/P&gt;&lt;P&gt;17950&amp;nbsp; 5/3/2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;/P&gt;&lt;P&gt;17955&amp;nbsp; 12/11/2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;17955&amp;nbsp; 10/1/2013&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;17955&amp;nbsp; 4/19/2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&lt;/P&gt;&lt;P&gt;17955&amp;nbsp; 11/11/2014&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 21:34:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367504#M87495</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-15T21:34:11Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367510#M87498</link>
      <description>&lt;P&gt;In your sample data, there is no date related variable.&amp;nbsp; What are&amp;nbsp; you sorting by to define "first"?&amp;nbsp; Couldn't a value of 50 come before a value of 40?&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 21:25:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367510#M87498</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-15T21:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367512#M87500</link>
      <description>&lt;P&gt;Sorry about that. I've edit the message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 21:34:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367512#M87500</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-15T21:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367515#M87503</link>
      <description>&lt;P&gt;something like this in SQL by doing union all for each scenario mentioned.&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;
 create table want as
 /*scenario 1*/
 select id, result from have
 group by 1
 having count(id) =1
 
union all
/*scenario 2*/
  select id, min(result) as result from
( select id, result   from have
 group by 1
 having count(id) gt 1
and min(result) &amp;gt;= 30)a
group by id
 union all
 /*scenario 3*/
  select id, max(result) as result from
( select id, result from have
 group by 1
 having count(id) gt 1
and min(result) &amp;lt; 30)a
group by id
order by id;
quit;
;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; on date column as min or max value&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt; create table want as&lt;BR /&gt; /*scenario 1*/&lt;BR /&gt; select id, result, date format=date9. from have&lt;BR /&gt; group by 1&lt;BR /&gt; having count(id) =1&lt;BR /&gt; &lt;BR /&gt;union all&lt;BR /&gt;/*scenario 2*/&lt;BR /&gt; select id, result, min(date) as date from&lt;BR /&gt;( select id, result , date from have&lt;BR /&gt; group by 1&lt;BR /&gt; having count(id) gt 1&lt;BR /&gt;and min(result) &amp;gt;= 30)a&lt;BR /&gt;group by id&lt;BR /&gt; union all&lt;BR /&gt; /*scenario 3*/&lt;BR /&gt; select id,result, max(date) as date from&lt;BR /&gt;( select id, result, date from have&lt;BR /&gt; group by 1&lt;BR /&gt; having count(id) gt 1&lt;BR /&gt;and min(result) &amp;lt; 30)a&lt;BR /&gt;group by id&lt;BR /&gt;order by id;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 22:07:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367515#M87503</guid>
      <dc:creator>kiranv_</dc:creator>
      <dc:date>2017-06-15T22:07:35Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367520#M87507</link>
      <description>&lt;P&gt;Assuming your data is in sorted order then (by ID and date):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want (drop=highest_result highest_date already_output);&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by id;&lt;/P&gt;
&lt;P&gt;if first.id then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; highest_result = result;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; highest_date = date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; already_output='N';&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;retain highest_result highest_date already_output;&lt;/P&gt;
&lt;P&gt;if result &amp;gt;= 30 and already_output='N' then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; already_output='Y';&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;else if result &amp;gt; highest_result then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; highest_date = date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; highest_result = result;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;if last.id and already_output='N' then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; result = highest_result;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; date = highest_date;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's untested code, so it might need a little tweaking, but it looks right.&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 21:54:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367520#M87507</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-15T21:54:01Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367535#M87518</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=HAVE; 
  by ID RESULT;
data WANT; 
  retain IDSAVED;
  set HAVE;
  by ID ;
  if first.ID then IDSAVED=0;
  if IDSAVED then return;
  if last.ID or RESULT &amp;gt;= 30;
  IDSAVED=1;
run;
 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jun 2017 22:34:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367535#M87518</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-06-15T22:34:40Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367771#M87611</link>
      <description>&lt;P&gt;Thanks so much, Astounding. That's exactly what I want.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 15:53:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367771#M87611</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-16T15:53:30Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367796#M87617</link>
      <description>&lt;P&gt;Hi Astounding,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;May I ask a question? in the code you answer me, what is the role for retain statement? we've already create highest_result, highest_date, already_output variables, in my opinion, i can run outcome out without retain statement, but the outcome is wrong. So, what is the role of retain statement in the code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;L&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 16:46:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367796#M87617</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-16T16:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367807#M87620</link>
      <description>&lt;P&gt;When you create a new variable in a DATA step, it begins with a missing value. &amp;nbsp;Your later statements may assign a value, but it begins with a missing value on each observation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;RETAIN changes that. &amp;nbsp;It instructs SAS to hold on to whatever value was left over at the end of the previous observation, instead of re-setting the value to missing for each observation.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 17:10:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367807#M87620</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-16T17:10:54Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367867#M87641</link>
      <description>&lt;P&gt;Got it! Thanks Astounding!&lt;/P&gt;&lt;P&gt;Can I have one more question: what is the role for &amp;nbsp; &amp;nbsp;already_output = 'Y' &amp;nbsp; &amp;nbsp;in the code?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;L&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 19:44:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367867#M87641</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-16T19:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367872#M87642</link>
      <description>&lt;P&gt;ALREADY_OUTPUT gets set for each ID.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Two of the stipulations were:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Output just a single observation per ID&lt;/LI&gt;
&lt;LI&gt;Output the first observation with a value &amp;gt;= 30&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;So ALREADY_OUTPUT tracks whether an observation was already output for that ID. &amp;nbsp;If another one comes along that has a value of &amp;gt;= 30, the program can now determine that it should skip the second (or 3rd or 4th, etc.) one because the DATA step has already output an observation for that ID.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 19:54:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367872#M87642</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-16T19:54:14Z</dc:date>
    </item>
    <item>
      <title>Re: select row in multiple rows by several conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367889#M87645</link>
      <description>&lt;P&gt;Got it!!! Thanks for your help, Astounding!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2017 21:01:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/select-row-in-multiple-rows-by-several-conditions/m-p/367889#M87645</guid>
      <dc:creator>echoli</dc:creator>
      <dc:date>2017-06-16T21:01:33Z</dc:date>
    </item>
  </channel>
</rss>

