<?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: proc sql question in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215566#M267660</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SQL in SAS is standard SQL . therefore it is hard for SAS version SQL. But you could try this one :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data have;
input col1 $ col2 col3 $ col4 $;
cards;
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B
;
run;
proc sql;
 create table want as
&amp;nbsp; select * 
&amp;nbsp;&amp;nbsp; from have
&amp;nbsp;&amp;nbsp;&amp;nbsp; group by col1,col2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; having cats(col1,col2,col3,col4) =max(cats(col1,col2,col3,col4));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XIa Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Apr 2015 13:55:34 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2015-04-03T13:55:34Z</dc:date>
    <item>
      <title>proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215560#M267654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Dear,&lt;/P&gt;&lt;P&gt;I have some data like below with 4 columns and values as below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;col1 col2 col3 col4&lt;BR /&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&lt;BR /&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q&lt;BR /&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;BR /&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By SQL in SAS,&lt;BR /&gt;I need duplicates based only on first two columns to be removed. That is, an I get the result as&amp;nbsp; 2,3 rows and any of 1 and 4 rows ??&lt;/P&gt;&lt;P&gt;Expected result:&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;(or)&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know its pretty simple in SAS, but need help in SQL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: all SQL commands do not work in proc SQL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 05:13:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215560#M267654</guid>
      <dc:creator>MarkNicholas</dc:creator>
      <dc:date>2015-04-03T05:13:57Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215561#M267655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What keeps you from using proc sort with nodupkey?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 06:44:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215561#M267655</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2015-04-03T06:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215562#M267656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If your data resides in a data base then use pass-through SQL and you will have access to all native functionality of this data base (eg. analytical functions like rownum() and then select the first record in the window). If it's a SAS table then why try and use SAS SQL if this can be done so easily using PROC SORT.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 08:15:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215562#M267656</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-04-03T08:15:28Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215563#M267657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is not SAS dataset.&amp;nbsp; I just gave it as example for your reference. It is a database table containing around 20 million records. So we chose native functionality to get the result, but unfortunately stuck at this moment and are looking for any chance to complete this step as well using sql itself&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 08:25:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215563#M267657</guid>
      <dc:creator>MarkNicholas</dc:creator>
      <dc:date>2015-04-03T08:25:44Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215564#M267658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, if it's a database then you should try and reduce the volumes directly on the database before transferring the data to SAS. What's the database?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 08:37:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215564#M267658</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-04-03T08:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215565#M267659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Then you best do that step in the database itself. Get help from your DBA and use his code in SQL passthrough.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 09:18:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215565#M267659</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2015-04-03T09:18:11Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215566#M267660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SQL in SAS is standard SQL . therefore it is hard for SAS version SQL. But you could try this one :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data have;
input col1 $ col2 col3 $ col4 $;
cards;
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y
B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B
A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B
;
run;
proc sql;
 create table want as
&amp;nbsp; select * 
&amp;nbsp;&amp;nbsp; from have
&amp;nbsp;&amp;nbsp;&amp;nbsp; group by col1,col2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; having cats(col1,col2,col3,col4) =max(cats(col1,col2,col3,col4));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XIa Keshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 13:55:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215566#M267660</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2015-04-03T13:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: proc sql question</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215567#M267661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;select col1,col2,max(col3) as col3,max(col4) as col4 from have&lt;/P&gt;&lt;P&gt;group by col1,col2;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 16:02:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-sql-question/m-p/215567#M267661</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2015-04-03T16:02:14Z</dc:date>
    </item>
  </channel>
</rss>

