<?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: Slect max in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144300#M28783</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would do it this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data have;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;input CustId Mr_flag;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;datalines;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;15013 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;15013 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;22017 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;22017 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;28011 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;28011 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;58014 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;58014 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;71013 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;71013 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc sql;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;create table want as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select *&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;from have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;group by CustId&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;having max(Mr_flag)=1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;order by CustId, Mr_flag;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select * from want;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 15 Mar 2014 02:46:13 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2014-03-15T02:46:13Z</dc:date>
    <item>
      <title>Slect max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144297#M28780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how to select custid whose max mr_flag is 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;which means custid 58014 is not selected as it has 0&amp;nbsp; as mr_flag. rest all have atleast one value for mr_flag with a value 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Custid Mr_flag&lt;/P&gt;&lt;P&gt;15013 0&lt;/P&gt;&lt;P&gt;15013 1&lt;/P&gt;&lt;P&gt;22017 0&lt;/P&gt;&lt;P&gt;22017 1&lt;/P&gt;&lt;P&gt;28011 0&lt;/P&gt;&lt;P&gt;28011 1&lt;/P&gt;&lt;P&gt;58014 0&lt;/P&gt;&lt;P&gt;58014 0&lt;/P&gt;&lt;P&gt;71013 0&lt;/P&gt;&lt;P&gt;71013 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="103"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="49"&gt;Custid&lt;/TD&gt;&lt;TD width="54"&gt;Mr_flag&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD height="20"&gt;.&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD height="20"&gt;.&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;15013&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;15013&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;22017&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;22017&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;28011&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;28011&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;58014&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;58014&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;71013&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt;&lt;TD align="right" height="20"&gt;71013&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt; &lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 15:06:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144297#M28780</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2014-03-14T15:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: Slect max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144298#M28781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Like this?&amp;nbsp; Gets a bit more complicated if you have more than one variable as you will then need to left join the data back on where custid=sustid and max(flag)=flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp; attrib custid format=$10. mr_flag format=best.;&lt;BR /&gt;&amp;nbsp; custid=15013; mr_flag=0; output;&lt;BR /&gt;&amp;nbsp; custid=15013; mr_flag=1; output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;&amp;nbsp; create table WANT as&lt;BR /&gt;&amp;nbsp; select&amp;nbsp; distinct&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSTID,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX(MR_FLAG) as FLAG&lt;BR /&gt;&amp;nbsp; from&amp;nbsp;&amp;nbsp; HAVE &lt;BR /&gt;&amp;nbsp; group by CUSTID;&lt;BR /&gt;quit; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 15:11:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144298#M28781</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-03-14T15:11:56Z</dc:date>
    </item>
    <item>
      <title>Re: Slect max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144299#M28782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using a subquery is a logical way to go, I find it's easy to understand:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The subquery finds all ids where the mr_flag is ever set to 1 and then main query pulls all records from teh table for that custID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select *&lt;/P&gt;&lt;P&gt;from have&lt;/P&gt;&lt;P&gt;where custin in (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select distinct custid&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have where mr_flag=1);&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 15:37:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144299#M28782</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2014-03-14T15:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Slect max</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144300#M28783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would do it this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data have;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;input CustId Mr_flag;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;datalines;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;15013 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;15013 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;22017 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;22017 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;28011 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;28011 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;58014 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;58014 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;71013 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;71013 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc sql;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;create table want as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select *&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;from have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;group by CustId&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;having max(Mr_flag)=1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;order by CustId, Mr_flag;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select * from want;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Mar 2014 02:46:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Slect-max/m-p/144300#M28783</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2014-03-15T02:46:13Z</dc:date>
    </item>
  </channel>
</rss>

