<?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: Maximum Value between observations in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/554018#M154105</link>
    <description>&lt;P&gt;Dear Astounding:&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you need any clarification about the question, please do ask.&lt;/P&gt;&lt;P&gt;&amp;nbsp; What I need is that the MAX p from the second file when the ID is inactive (and then merged back into the original file).&lt;/P&gt;&lt;P&gt;&amp;nbsp; Thanx a lot.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Randy&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;There is much about your post that is either incomplete or wrong. So here is a guess that should be close to what you want:&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by id;&lt;BR /&gt;retain maxval;&lt;BR /&gt;drop maxval;&lt;BR /&gt;if first.id then maxval=p;&lt;BR /&gt;else do;&lt;BR /&gt;maxval = max(maxval, p) ;&lt;BR /&gt;maxp = maxval;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;Try it and see how close it comes to what you want.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 25 Apr 2019 16:25:27 GMT</pubDate>
    <dc:creator>RandyStan</dc:creator>
    <dc:date>2019-04-25T16:25:27Z</dc:date>
    <item>
      <title>Maximum Value between observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/553846#M154049</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Dear All&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to choose the max of variable p between observations.&amp;nbsp; So the data set is as follows.&amp;nbsp; The file is sorted by ID&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tno&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Second&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4657&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4658&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4662&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 551&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;5.45&amp;nbsp; &amp;nbsp; 4663&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;551&lt;/P&gt;&lt;P&gt;6.25&amp;nbsp; &amp;nbsp; &amp;nbsp;4668&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;554&lt;/P&gt;&lt;P&gt;6.25&amp;nbsp; &amp;nbsp; 4669&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 554&lt;BR /&gt;&lt;SPAN&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 425&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3570&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 427&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I need is the maximum p between seconds 549 and 551 and Seconds 552 and 553 for ID 1144 and between seconds 425 and 427&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The p file can be as follows&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; second&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 425&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6.25&amp;nbsp;&amp;nbsp;&amp;nbsp; 426&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6.25&amp;nbsp;&amp;nbsp;&amp;nbsp; 427&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 549&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5.45&amp;nbsp;&amp;nbsp;&amp;nbsp; 550&lt;/SPAN&gt;&lt;BR /&gt;5.5&amp;nbsp; &amp;nbsp; &amp;nbsp;550&lt;/P&gt;&lt;P&gt;5.75&amp;nbsp; &amp;nbsp;551&lt;/P&gt;&lt;P&gt;5.85&amp;nbsp; &amp;nbsp;551&lt;/P&gt;&lt;P&gt;6.10&amp;nbsp; &amp;nbsp;552&lt;/P&gt;&lt;P&gt;6.15&amp;nbsp; &amp;nbsp;552&lt;/P&gt;&lt;P&gt;6.2&amp;nbsp; &amp;nbsp; &amp;nbsp;553&lt;/P&gt;&lt;P&gt;6.25&amp;nbsp; &amp;nbsp;553&lt;BR /&gt;&lt;SPAN&gt;And the file I need is&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tno&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Second&amp;nbsp;&amp;nbsp; Maxp&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4657&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4658&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 548&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4662&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 551&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.5&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;5.45&amp;nbsp; &amp;nbsp; 4663&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;551&amp;nbsp; &amp;nbsp; &amp;nbsp; 5.5&lt;/P&gt;&lt;P&gt;6.25&amp;nbsp; &amp;nbsp; &amp;nbsp;4668&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;554&amp;nbsp; &amp;nbsp; &amp;nbsp; 6.25&lt;/P&gt;&lt;P&gt;6.25&amp;nbsp; &amp;nbsp; 4669&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1144&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 554&amp;nbsp; &amp;nbsp; &amp;nbsp; 6.25&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3567&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 425&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;6.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3570&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 427&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.25&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanx in Advance&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Randy&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Apr 2019 04:46:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/553846#M154049</guid>
      <dc:creator>RandyStan</dc:creator>
      <dc:date>2019-04-25T04:46:24Z</dc:date>
    </item>
    <item>
      <title>Re: Maximum Value between observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/553853#M154055</link>
      <description>There is much about your post that is either incomplete or wrong.  So here is a guess that should be close to what you want:&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by id;&lt;BR /&gt;retain maxval;&lt;BR /&gt;drop maxval;&lt;BR /&gt;if first.id then maxval=p;&lt;BR /&gt;else do;&lt;BR /&gt;  maxval = max(maxval, p) ;&lt;BR /&gt;  maxp = maxval;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;Try it and see how close it comes to what you want.</description>
      <pubDate>Thu, 25 Apr 2019 05:37:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/553853#M154055</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-04-25T05:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: Maximum Value between observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/554018#M154105</link>
      <description>&lt;P&gt;Dear Astounding:&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you need any clarification about the question, please do ask.&lt;/P&gt;&lt;P&gt;&amp;nbsp; What I need is that the MAX p from the second file when the ID is inactive (and then merged back into the original file).&lt;/P&gt;&lt;P&gt;&amp;nbsp; Thanx a lot.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Randy&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;There is much about your post that is either incomplete or wrong. So here is a guess that should be close to what you want:&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by id;&lt;BR /&gt;retain maxval;&lt;BR /&gt;drop maxval;&lt;BR /&gt;if first.id then maxval=p;&lt;BR /&gt;else do;&lt;BR /&gt;maxval = max(maxval, p) ;&lt;BR /&gt;maxp = maxval;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;Try it and see how close it comes to what you want.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Apr 2019 16:25:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/554018#M154105</guid>
      <dc:creator>RandyStan</dc:creator>
      <dc:date>2019-04-25T16:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: Maximum Value between observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/554075#M154113</link>
      <description>&lt;P&gt;Clarification needed:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) What do you mean by&amp;nbsp;&lt;STRONG&gt;inactive&lt;/STRONG&gt; ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Do you mean &lt;U&gt;absent&lt;/U&gt; seconds &lt;STRONG&gt;per ID&lt;/STRONG&gt; in sequence &lt;U&gt;between&lt;/U&gt; minimum and maximum of &lt;U&gt;existing&lt;/U&gt; seconds ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; If positive, for ID=1144, why did you mentioned in first post: "...&lt;STRONG&gt;&lt;SPAN&gt;between seconds 549 and 551&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;..."&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; ass 551 exist for ID 1144 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) How about next code (not tested), does it fit your request ?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=table2; by second p; run;

data max_p;
  set table2;
   by second;
        if last.second;  /* max p per second */
run;

proc sql;
   create table want as
   select a.*, b.*
   from table1 as a
   left join max_p as b
   on min(a.second) &amp;lt; b.second &amp;lt;max(a.second) and
   b.second not in (select a.second from table1)
   group by a.ID;
quit;&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, 25 Apr 2019 20:31:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Maximum-Value-between-observations/m-p/554075#M154113</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2019-04-25T20:31:11Z</dc:date>
    </item>
  </channel>
</rss>

