<?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 Select max value in proc sql in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162575#M42229</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at the moment, I've got a code which does the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) sorts a DATASET1 by a VAR1 in ascending order, then by VAR2 in ascending order&lt;/P&gt;&lt;P&gt;2) selects removes duplicates of VAR1, but selects the highest value of VAR2&lt;/P&gt;&lt;P&gt;3) appends this to DATASET2 to another one by VAR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to combine these three steps into 1 using a proc sql?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table NEWTABLE as select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.*, b.VAR2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from DATASET1 as a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join DATASET2( [conditions which make 1-3 work]) as b on b.VAR1 = a.VAR1;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Apr 2014 09:54:16 GMT</pubDate>
    <dc:creator>Lupacante</dc:creator>
    <dc:date>2014-04-01T09:54:16Z</dc:date>
    <item>
      <title>Select max value in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162575#M42229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at the moment, I've got a code which does the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) sorts a DATASET1 by a VAR1 in ascending order, then by VAR2 in ascending order&lt;/P&gt;&lt;P&gt;2) selects removes duplicates of VAR1, but selects the highest value of VAR2&lt;/P&gt;&lt;P&gt;3) appends this to DATASET2 to another one by VAR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to combine these three steps into 1 using a proc sql?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table NEWTABLE as select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.*, b.VAR2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from DATASET1 as a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join DATASET2( [conditions which make 1-3 work]) as b on b.VAR1 = a.VAR1;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 09:54:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162575#M42229</guid>
      <dc:creator>Lupacante</dc:creator>
      <dc:date>2014-04-01T09:54:16Z</dc:date>
    </item>
    <item>
      <title>Re: Select max value in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162576#M42230</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;Could you clarify your request a bit.&amp;nbsp; A left join is not an append but a merge.&amp;nbsp; You have also put conditions 1-3 in the from of dataset 2 where 1 and 2 are applicable to only dataset 1 from your text.&amp;nbsp; As a rough guess:&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.*,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B.VAR3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select VAR1,MAX(VAR2) from DATASET1 group by VAR1) A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join&amp;nbsp;&amp;nbsp; DATASET2 B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A.VAR1=B.VAR1;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 10:00:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162576#M42230</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-04-01T10:00:02Z</dc:date>
    </item>
    <item>
      <title>Re: Select max value in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162577#M42231</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You're right, I got the datasets mixed up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This is what I would have wanted:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table NEWTABLE as select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.*, b.VAR2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from DATASET2 as a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join DATASET1( [conditions which make 1-3 work]) as b on b.VAR1 = a.VAR1;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 10:15:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162577#M42231</guid>
      <dc:creator>Lupacante</dc:creator>
      <dc:date>2014-04-01T10:15:33Z</dc:date>
    </item>
    <item>
      <title>Re: Select max value in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162578#M42232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So condition 1 and 2 are fulfilled by the subquery (select VAR1,MAX(VAR2) from DATASET1 group by VAR1).&amp;nbsp; This should return one VAR1 with the maximum VAR2 within that group.&amp;nbsp; Then the other dataset is left joined onto that.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 10:20:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Select-max-value-in-proc-sql/m-p/162578#M42232</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-04-01T10:20:33Z</dc:date>
    </item>
  </channel>
</rss>

