<?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: Min and Max Values by By Group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310232#M66889</link>
    <description>&lt;P&gt;You're welcome - Glad it was able to help.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 08 Nov 2016 20:23:06 GMT</pubDate>
    <dc:creator>jhlaramore</dc:creator>
    <dc:date>2016-11-08T20:23:06Z</dc:date>
    <item>
      <title>Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310192#M66871</link>
      <description>&lt;P&gt;I have a ds with ZipCode, Order_Num, and Total. Is it possible to create a ds with the Min and Max Total for each Order_Num?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset Example:&lt;/P&gt;&lt;P&gt;&lt;U&gt;ZipCode Order_Num Total&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;12345 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;99&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;23451 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;34512 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;45123 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;51234 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;13&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;67890 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;78901 &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;11&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;89012 &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;90123 &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired Result Set:&lt;/P&gt;&lt;P&gt;&lt;U&gt;ZipCode Order_Num Total&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;12345 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;99&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;23451 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;45123 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;51234 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;13&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;67890 &amp;nbsp; &amp;nbsp; 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;89012 &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;90123 &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20&lt;/SPAN&gt;&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 18:15:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310192#M66871</guid>
      <dc:creator>buechler66</dc:creator>
      <dc:date>2016-11-08T18:15:21Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310193#M66872</link>
      <description>&lt;P&gt;It looks like you could have a tie.&amp;nbsp; In that case, do you want all observations that match the min (or all that match the max)?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the example, you left the observations in their original order.&amp;nbsp; Is that a requirement, or is sorting an option?&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 18:21:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310193#M66872</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-11-08T18:21:23Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310194#M66873</link>
      <description>Yes, I'd need to keep ties. The ds order does not matter. Thanks.</description>
      <pubDate>Tue, 08 Nov 2016 18:35:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310194#M66873</guid>
      <dc:creator>buechler66</dc:creator>
      <dc:date>2016-11-08T18:35:05Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310197#M66874</link>
      <description>&lt;P&gt;OK, here's one way to look at it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;do until (last.order_num);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by order_num;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; minval = min(minval, total);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; maxval = max(maxval, total);&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;do until (last.order_num);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by order_num;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; if total=minval or total=maxval then output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;drop minval maxval;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The top loop finds the minimum and maximum values for an ORDER_NUM, and the bottom loop reads through the same observations to find the matches.&amp;nbsp; I'm sure there's a SQL approach as well, but I'm more comfortable with a DATA step.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 18:44:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310197#M66874</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-11-08T18:44:20Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310201#M66877</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt; input ZIPCODE $ ORDER $ NUM_TOTAL;&lt;BR /&gt; datalines;&lt;BR /&gt; 12345 1 99&lt;BR /&gt; 23451 1 1&lt;BR /&gt; 34512 1 10&lt;BR /&gt; 45123 2 10&lt;BR /&gt; 51234 2 13&lt;BR /&gt; 67890 2 10&lt;BR /&gt; 78901 3 11&lt;BR /&gt; 89012 3 10&lt;BR /&gt; 90123 3 20&lt;BR /&gt; ;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp;create table want as &lt;BR /&gt;&amp;nbsp;select *&lt;BR /&gt;&amp;nbsp;from have &lt;BR /&gt;&amp;nbsp;group by order&lt;BR /&gt;&amp;nbsp;having Num_Total = max(Num_Total) or Num_Total = min(Num_Total)&lt;BR /&gt;&amp;nbsp;order by order, zipcode;&lt;BR /&gt; quit;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 18:50:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310201#M66877</guid>
      <dc:creator>jhlaramore</dc:creator>
      <dc:date>2016-11-08T18:50:00Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310223#M66886</link>
      <description>Awesome. I really appreciate your help!</description>
      <pubDate>Tue, 08 Nov 2016 19:55:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310223#M66886</guid>
      <dc:creator>buechler66</dc:creator>
      <dc:date>2016-11-08T19:55:14Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310224#M66887</link>
      <description>Thank you for showing me this.</description>
      <pubDate>Tue, 08 Nov 2016 19:55:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310224#M66887</guid>
      <dc:creator>buechler66</dc:creator>
      <dc:date>2016-11-08T19:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: Min and Max Values by By Group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310232#M66889</link>
      <description>&lt;P&gt;You're welcome - Glad it was able to help.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 20:23:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Min-and-Max-Values-by-By-Group/m-p/310232#M66889</guid>
      <dc:creator>jhlaramore</dc:creator>
      <dc:date>2016-11-08T20:23:06Z</dc:date>
    </item>
  </channel>
</rss>

