<?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 most recent row with a certain value in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307364#M65812</link>
    <description>&lt;P&gt;Sort the dataset descening, then the first encounter is the latest:&lt;/P&gt;
&lt;PRE&gt;proc sort data=have;
  by policy_id descending policy_version;
run;
data want;
  set have;
  by policy_id;
  retain want;
  if first.policy_id then want=8;
  if policy=15 and want=8 then policy=4;
  if policy=70 and policy=4 then want=.;
run;
proc sort data=want;
  by policy_id policy_version;
run;&lt;/PRE&gt;</description>
    <pubDate>Wed, 26 Oct 2016 12:46:52 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-10-26T12:46:52Z</dc:date>
    <item>
      <title>Select most recent row with a certain value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307362#M65811</link>
      <description>&lt;P&gt;I have a POLICY-table which triggers a new row (policy_version) each time a change is made to the policy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need a new column (WANT) which always displays the most recent policy version where the policy_code was either 15 or 70.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="369"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="80"&gt;POLICY_ID&lt;/TD&gt;
&lt;TD width="117"&gt;POLICY_VERSION&lt;/TD&gt;
&lt;TD width="92"&gt;POLICY_CODE&lt;/TD&gt;
&lt;TD width="80"&gt;WANT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;70&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;11&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;13&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example: The last row (policy_version 13) sees that the most recent policy_version with policy_code 15 or 70 was policy_version 8.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Would appreciate help on this, thanks for your time.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2016 12:40:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307362#M65811</guid>
      <dc:creator>EinarRoed</dc:creator>
      <dc:date>2016-10-26T12:40:48Z</dc:date>
    </item>
    <item>
      <title>Re: Select most recent row with a certain value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307364#M65812</link>
      <description>&lt;P&gt;Sort the dataset descening, then the first encounter is the latest:&lt;/P&gt;
&lt;PRE&gt;proc sort data=have;
  by policy_id descending policy_version;
run;
data want;
  set have;
  by policy_id;
  retain want;
  if first.policy_id then want=8;
  if policy=15 and want=8 then policy=4;
  if policy=70 and policy=4 then want=.;
run;
proc sort data=want;
  by policy_id policy_version;
run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 26 Oct 2016 12:46:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307364#M65812</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-10-26T12:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: Select most recent row with a certain value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307365#M65813</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I guess you have more POLICY_IDies in the table so a prior sort may be needed. Afterwards the folllowing code will do it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by POLICY_ID;

retain most_recent_policy;

if first.POLICY_ID then call missing(most_recent_policy);
if POLICY_CODE in (70, 15) then most_recent_policy=POLICY_VERSION;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 26 Oct 2016 12:47:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307365#M65813</guid>
      <dc:creator>Loko</dc:creator>
      <dc:date>2016-10-26T12:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Select most recent row with a certain value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307376#M65818</link>
      <description>&lt;P&gt;The WHERE statement makes this easy:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by policy_id policy_version;&lt;/P&gt;
&lt;P&gt;where policy_code in (15, 70);&lt;/P&gt;
&lt;P&gt;if last.policy_id;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The WHERE statement sets up FIRST. and LAST. variables based on just the observations that meet the WHERE conditions.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2016 13:14:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Select-most-recent-row-with-a-certain-value/m-p/307376#M65818</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-10-26T13:14:24Z</dc:date>
    </item>
  </channel>
</rss>

