<?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: Calculating Min and Max in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calculating-Min-and-Max/m-p/567659#M159656</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the values under var2 through var6 in the datalines and in the output do not match.&lt;/P&gt;
&lt;P&gt;In the datalines suject1 var3=1 but in the output var3=2. Assuming the datalines are correct try this code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;input person_id event_id var2 var3 var4 var5 var6;&lt;BR /&gt;datalines;&lt;BR /&gt;1 1 2 3 1 3 5 &lt;BR /&gt;1 2 6 1 2 4 1 &lt;BR /&gt;2 3 3 1 4 2 5&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Proc sort data= have; by person_id event_id ; run;&lt;/P&gt;
&lt;P&gt;proc transpose data=have out=tr_have;&lt;BR /&gt;by person_id event_id ;&lt;BR /&gt;var var2 var3 var4 var5 var6 ;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;create table wantp as&lt;BR /&gt;select distinct(person_id), min(col1) as minp, max(col1) as maxp&lt;BR /&gt;from tr_have &lt;BR /&gt;group by person_id;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;create table wante as&lt;BR /&gt;select distinct(event_id),person_id, min(col1) as mine, max(col1) as maxe&lt;BR /&gt;from tr_have as a&lt;BR /&gt;group by event_id;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;create table want as&lt;BR /&gt;select a.*,b.mine,b.maxe&lt;BR /&gt;from wantp as a left join wante as b&lt;BR /&gt;on a.person_id=b.person_id;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;quit;&lt;/P&gt;</description>
    <pubDate>Thu, 20 Jun 2019 15:17:01 GMT</pubDate>
    <dc:creator>Kc2</dc:creator>
    <dc:date>2019-06-20T15:17:01Z</dc:date>
    <item>
      <title>Calculating Min and Max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-Min-and-Max/m-p/567323#M159531</link>
      <description>&lt;P&gt;I am trying to calculate Min and Max in multiple capacities with a data set.&lt;/P&gt;&lt;P&gt;Here is an example of the data I am working with:&lt;/P&gt;&lt;P&gt;person_id&amp;nbsp; &amp;nbsp; event id&amp;nbsp; &amp;nbsp; &amp;nbsp;var2&amp;nbsp; &amp;nbsp; &amp;nbsp; var3&amp;nbsp; &amp;nbsp; &amp;nbsp;var4&amp;nbsp; &amp;nbsp; &amp;nbsp;var5&amp;nbsp; &amp;nbsp; &amp;nbsp;var6&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So there are people who have multiple rows within the data set but each observation will have a unique event id.&lt;/P&gt;&lt;P&gt;For var2 - var6 I am trying to calculate an overall max and min for each person_id and an individualized max and min for each event_id.&lt;/P&gt;&lt;P&gt;Here is my desired output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;person_id&amp;nbsp; &amp;nbsp; event id&amp;nbsp; &amp;nbsp;var2&amp;nbsp; &amp;nbsp; &amp;nbsp; var3&amp;nbsp; &amp;nbsp; &amp;nbsp;var4&amp;nbsp; &amp;nbsp; &amp;nbsp;var5&amp;nbsp; &amp;nbsp; var6&amp;nbsp; &amp;nbsp;maxPERSON minPERSON maxEVENT minEVENT&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2019 15:28:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-Min-and-Max/m-p/567323#M159531</guid>
      <dc:creator>bignate1030</dc:creator>
      <dc:date>2019-06-19T15:28:33Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating Min and Max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculating-Min-and-Max/m-p/567659#M159656</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the values under var2 through var6 in the datalines and in the output do not match.&lt;/P&gt;
&lt;P&gt;In the datalines suject1 var3=1 but in the output var3=2. Assuming the datalines are correct try this code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;input person_id event_id var2 var3 var4 var5 var6;&lt;BR /&gt;datalines;&lt;BR /&gt;1 1 2 3 1 3 5 &lt;BR /&gt;1 2 6 1 2 4 1 &lt;BR /&gt;2 3 3 1 4 2 5&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Proc sort data= have; by person_id event_id ; run;&lt;/P&gt;
&lt;P&gt;proc transpose data=have out=tr_have;&lt;BR /&gt;by person_id event_id ;&lt;BR /&gt;var var2 var3 var4 var5 var6 ;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;create table wantp as&lt;BR /&gt;select distinct(person_id), min(col1) as minp, max(col1) as maxp&lt;BR /&gt;from tr_have &lt;BR /&gt;group by person_id;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;create table wante as&lt;BR /&gt;select distinct(event_id),person_id, min(col1) as mine, max(col1) as maxe&lt;BR /&gt;from tr_have as a&lt;BR /&gt;group by event_id;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;create table want as&lt;BR /&gt;select a.*,b.mine,b.maxe&lt;BR /&gt;from wantp as a left join wante as b&lt;BR /&gt;on a.person_id=b.person_id;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jun 2019 15:17:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculating-Min-and-Max/m-p/567659#M159656</guid>
      <dc:creator>Kc2</dc:creator>
      <dc:date>2019-06-20T15:17:01Z</dc:date>
    </item>
  </channel>
</rss>

