<?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 Proc SQL max, group by and where in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249120#M56500</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to find the max Date for each UIN where ID=1&lt;/P&gt;
&lt;P&gt;so for UIN=A1234 --&amp;gt; maxDate=20150601&lt;/P&gt;
&lt;P&gt;UIN=A1235 --&amp;gt; maxDate=20140101&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, my below code doesn't work. THank you&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA have; 

input UIN $ ID $ Date ;
   datalines;
A1234 2 20151001 
A1234 1 20150601 
A1234 5 20150101 
A1234 1 20141001 

A1235 2 20141001 
A1235 6 20140601 
A1235 1 20140101 

;

run;

proc sql;
create table filtered4 as
select *, max(Date)
where ID='1' as MaXDate from have
group by UIN ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 10 Feb 2016 03:03:00 GMT</pubDate>
    <dc:creator>apple</dc:creator>
    <dc:date>2016-02-10T03:03:00Z</dc:date>
    <item>
      <title>Proc SQL max, group by and where</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249120#M56500</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to find the max Date for each UIN where ID=1&lt;/P&gt;
&lt;P&gt;so for UIN=A1234 --&amp;gt; maxDate=20150601&lt;/P&gt;
&lt;P&gt;UIN=A1235 --&amp;gt; maxDate=20140101&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, my below code doesn't work. THank you&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA have; 

input UIN $ ID $ Date ;
   datalines;
A1234 2 20151001 
A1234 1 20150601 
A1234 5 20150101 
A1234 1 20141001 

A1235 2 20141001 
A1235 6 20140601 
A1235 1 20140101 

;

run;

proc sql;
create table filtered4 as
select *, max(Date)
where ID='1' as MaXDate from have
group by UIN ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 10 Feb 2016 03:03:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249120#M56500</guid>
      <dc:creator>apple</dc:creator>
      <dc:date>2016-02-10T03:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL max, group by and where</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249122#M56501</link>
      <description>&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;&lt;BR /&gt;&lt;BR /&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;sql&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
create &lt;SPAN class="token statement"&gt;table&lt;/SPAN&gt; filtered4 as
&lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt; &lt;SPAN class="token operator"&gt;UIN&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;max&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Date&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;) as MaXDate&lt;/SPAN&gt;
&lt;SPAN class="token keyword"&gt;from&lt;/SPAN&gt; have  &lt;BR /&gt;&lt;SPAN class="token statement"&gt;where&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'1'&lt;/SPAN&gt;  
&lt;SPAN class="token keyword"&gt;group&lt;/SPAN&gt; &lt;SPAN class="token statement"&gt;by&lt;/SPAN&gt; UIN &lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="token procnames"&gt;quit&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Feb 2016 03:20:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249122#M56501</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2016-02-10T03:20:54Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL max, group by and where</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249123#M56502</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use a &lt;STRONG&gt;having&lt;/STRONG&gt; clause and fix the syntax&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table filtered4 as
select UIN, ID, Date as MaxDate
from have
where ID='1'
group by UIN 
having Date = max(Date);
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or put all non-aggregated variables in the &lt;STRONG&gt;group by&lt;/STRONG&gt; clause&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table filtered5 as
select UIN, ID, max(Date) as MaxDate
from have
where ID='1'
group by UIN, ID;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 10 Feb 2016 03:24:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Proc-SQL-max-group-by-and-where/m-p/249123#M56502</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-02-10T03:24:34Z</dc:date>
    </item>
  </channel>
</rss>

