<?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: Rewrite proc sql to more effeceint query? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125313#M260156</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The groupend condition in this query changes nothing to the result except possibly exclude cases where groupend is missing. The way its written there, your query is equivalent to&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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 X.J2 as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select distinct customernum, patientid &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;from X.J1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;where groupend is not missing;&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;What is the intended purpose of your query (in plain language)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Jan 2013 01:08:34 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2013-01-15T01:08:34Z</dc:date>
    <item>
      <title>Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125312#M260155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;lDoes anyone have a more effeceint way to write this query?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE X.J2 AS&lt;BR /&gt;Select distinct a.customernum, a.patientid &lt;/P&gt;&lt;P&gt;FROM X.J1 A&lt;BR /&gt;where groupend = (select max(groupend) from X.J1 b&lt;BR /&gt; where a.patientid = b.patientid and a.customernum=b.customernum);&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2013 00:44:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125312#M260155</guid>
      <dc:creator>jlaw</dc:creator>
      <dc:date>2013-01-15T00:44:36Z</dc:date>
    </item>
    <item>
      <title>Re: Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125313#M260156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The groupend condition in this query changes nothing to the result except possibly exclude cases where groupend is missing. The way its written there, your query is equivalent to&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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 X.J2 as&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;select distinct customernum, patientid &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;from X.J1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;where groupend is not missing;&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;What is the intended purpose of your query (in plain language)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2013 01:08:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125313#M260156</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2013-01-15T01:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125314#M260157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;DATA HELLO;&lt;BR /&gt;INPUT&amp;nbsp; CUSTOMERNUM PATIENTID GROUPEND;&lt;BR /&gt;DATALINES;&lt;BR /&gt;1234 1001 1045&lt;BR /&gt;1234 1001 1046&lt;BR /&gt;1234 1001 1047&lt;BR /&gt;1235 1002 1048&lt;BR /&gt;1235 1002 1049&lt;BR /&gt;1235 1003 1134&lt;BR /&gt;1235 1003 1137&lt;BR /&gt;1235 1003 1138&lt;BR /&gt;1236 1003 1234&lt;BR /&gt;1236 1002 1345&lt;BR /&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE RES AS&lt;BR /&gt;(SELECT DISTINCT CUSTOMERNUM,PATIENTID,GROUPEND FROM HELLO&lt;BR /&gt; GROUP BY CUSTOMERNUM,PATIENTID HAVING GROUPEND=MAX(GROUPEND)&lt;BR /&gt; );&lt;BR /&gt; RUN;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2013 16:44:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125314#M260157</guid>
      <dc:creator>NagendraKumarK</dc:creator>
      <dc:date>2013-01-15T16:44:29Z</dc:date>
    </item>
    <item>
      <title>Re: Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125315#M260158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, this worked perfectly!&lt;/P&gt;&lt;P&gt;Not sure why this worked so much faster but it did &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 18:23:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125315#M260158</guid>
      <dc:creator>jlaw</dc:creator>
      <dc:date>2013-01-16T18:23:17Z</dc:date>
    </item>
    <item>
      <title>Re: Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125316#M260159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for response.&amp;nbsp; What I was attempting to do was keep all distinct customernum, patientid records, but keep the most current record.&amp;nbsp; GroupEnd corresponds to a date in the following format: 20130115.&lt;/P&gt;&lt;P&gt;so for example if there was record with the same customernum &amp;amp; patientid then I would only want to keep the one that had the most recent groupend date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PATIENTID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSTOMERNUM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUPEND&lt;/P&gt;&lt;P&gt;123123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABC987&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;&amp;nbsp; 20130115&lt;/P&gt;&lt;P&gt;123123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABC987&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;&amp;nbsp; 20110115&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DESIRED RESULT&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;PATIENTID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSTOMERNUM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUPEND&lt;/P&gt;&lt;P&gt;123123&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; ABC987&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;&amp;nbsp; 20130115&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 18:27:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125316#M260159</guid>
      <dc:creator>jlaw</dc:creator>
      <dc:date>2013-01-16T18:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: Rewrite proc sql to more effeceint query?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125317#M260160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, in that case, &lt;A __default_attr="811914" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt; provided you with the correct answer. It can be written more conventionally as :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;CREATE TABLE RES AS&lt;/P&gt;&lt;P&gt;SELECT &lt;STRONG&gt;DISTINCT&lt;/STRONG&gt; CUSTOMERNUM, PATIENTID, GROUPEND&lt;/P&gt;&lt;P&gt; FROM HELLO&lt;/P&gt;&lt;P&gt; GROUP BY CUSTOMERNUM, PATIENTID&lt;/P&gt;&lt;P&gt; HAVING GROUPEND = MAX(GROUPEND);&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You don't need the &lt;STRONG&gt;DISTINCT&lt;/STRONG&gt; option if the groupend dates are unique for each value of patientid and customernum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 20:28:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Rewrite-proc-sql-to-more-effeceint-query/m-p/125317#M260160</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2013-01-16T20:28:47Z</dc:date>
    </item>
  </channel>
</rss>

