<?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: Convert code SQL to SAS in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231989#M308342</link>
    <description>&lt;P&gt;Good observation. Again, I don't use PROC SQL often, but the GROUP BY clause has to come before the HAVING clause.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473678.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473678.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="strong"&gt;SELECT&lt;/SPAN&gt; &amp;lt;DISTINCT&amp;gt; &lt;SPAN class="emph"&gt;object-item&lt;/SPAN&gt; &amp;lt;, ...&lt;SPAN class="emph"&gt;object-item&lt;/SPAN&gt;&amp;gt;&lt;/P&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;INTO&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;macro-variable-specification&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;macro-variable-specification&lt;/SPAN&gt;&amp;gt;&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN class="strong"&gt;FROM&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;from-list&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;WHERE&lt;/SPAN&gt; sql-expression&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;GROUP BY&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;group-by-item&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;group-by-item&lt;/SPAN&gt;&amp;gt;&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;HAVING&lt;/SPAN&gt; sql-expression&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;ORDER BY&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;order-by-item&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;order-by-item&lt;/SPAN&gt;&amp;gt;&amp;gt;;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Wed, 28 Oct 2015 13:26:53 GMT</pubDate>
    <dc:creator>MaikH_Schutze</dc:creator>
    <dc:date>2015-10-28T13:26:53Z</dc:date>
    <item>
      <title>Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231978#M308336</link>
      <description>&lt;P&gt;I have a sql code as below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;select&lt;/STRONG&gt;&amp;nbsp;tbraccd_Detail_code "detail code",tbraccd_term_code "Term",tbraccd_effective_date "Effective_Date",&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;sum&lt;/STRONG&gt; (tbraccd_balance) "Balance"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;from&lt;/STRONG&gt; spriden, tbraccd,TBBDETC&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;where&lt;/STRONG&gt; spriden_pidm = tbraccd_pidm&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;and&lt;/STRONG&gt; tbbdetc_detail_code = tbraccd_detail_code&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;and&lt;/STRONG&gt; tbraccd_term_code = '201610'&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;and&lt;/STRONG&gt; TBBDETC_DCAT_CODE = 'IPL'&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;and&lt;/STRONG&gt; spriden_change_ind &lt;STRONG&gt;is&lt;/STRONG&gt; &lt;STRONG&gt;null&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;having&lt;/STRONG&gt; &lt;STRONG&gt;sum&lt;/STRONG&gt;(tbraccd_balance) &amp;lt;&amp;gt;0&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;and&lt;/STRONG&gt; spriden_id = 'V033796'&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;group&lt;/STRONG&gt; &lt;STRONG&gt;by&lt;/STRONG&gt; spriden_id,tbraccd_detail_code,tbraccd_term_code,tbraccd_effective_date&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;order&lt;/STRONG&gt; &lt;STRONG&gt;by&lt;/STRONG&gt; tbraccd_effective_date desc&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to convert this to SAS code. i converted as below but solution is not same. Where is my mistake?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;select&amp;nbsp;&lt;BR /&gt;tbraccd_Detail_code as detail_code,&lt;BR /&gt;tbraccd_term_code as Term,&lt;BR /&gt;tbraccd_effective_date as Effective_Date,&lt;/P&gt;
&lt;P&gt;sum (tbraccd_balance) as Balance&lt;/P&gt;
&lt;P&gt;from stg.spriden, stg.tbraccd,stg.TBBDETC&lt;/P&gt;
&lt;P&gt;where spriden_pidm = tbraccd_pidm&lt;BR /&gt;and tbbdetc_detail_code = tbraccd_detail_code&lt;/P&gt;
&lt;P&gt;and TBBDETC_DCAT_CODE = 'IPL'&lt;BR /&gt;and tbraccd_term_code= "201610"&lt;/P&gt;
&lt;P&gt;and spriden_id = '&lt;SPAN&gt;V033796&lt;/SPAN&gt;'&lt;BR /&gt;and spriden_change_ind is null&lt;BR /&gt;group by spriden_id,tbraccd_detail_code,tbraccd_term_code,tbraccd_effective_date&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;having sum(tbraccd_balance) &amp;lt;&amp;gt;0&lt;BR /&gt;order by tbraccd_effective_date desc&lt;BR /&gt;;quit;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:03:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231978#M308336</guid>
      <dc:creator>user24</dc:creator>
      <dc:date>2015-10-28T13:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231980#M308337</link>
      <description>&lt;P&gt;Wich is the SAS ERROR that appears to you?&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:09:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231980#M308337</guid>
      <dc:creator>arodriguez</dc:creator>
      <dc:date>2015-10-28T13:09:04Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231982#M308338</link>
      <description>No error, but solution is not same.</description>
      <pubDate>Wed, 28 Oct 2015 13:10:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231982#M308338</guid>
      <dc:creator>user24</dc:creator>
      <dc:date>2015-10-28T13:10:58Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231986#M308339</link>
      <description>&lt;P&gt;Your having statement and group by statement are in different orders.&amp;nbsp; I would try switching that and see if it solves your problem.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:21:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231986#M308339</guid>
      <dc:creator>Steelers_In_DC</dc:creator>
      <dc:date>2015-10-28T13:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231987#M308340</link>
      <description>&lt;P&gt;I rarely use SQL, therefore this might be an elementary question but I assume you are using your code with a PROC SQL statement, is that correct. SAS has implemented SQL using PROC SQL and as far as I understand, the syntax should be the same.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:23:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231987#M308340</guid>
      <dc:creator>MaikH_Schutze</dc:creator>
      <dc:date>2015-10-28T13:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231988#M308341</link>
      <description>&lt;P&gt;Is there a reason why you moved one of the restrictions:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;and spriden_id = '&lt;/SPAN&gt;&lt;SPAN&gt;V033796&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;From the having clause in the first, to the where in second, may impact. &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:24:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231988#M308341</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-10-28T13:24:03Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231989#M308342</link>
      <description>&lt;P&gt;Good observation. Again, I don't use PROC SQL often, but the GROUP BY clause has to come before the HAVING clause.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473678.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473678.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="strong"&gt;SELECT&lt;/SPAN&gt; &amp;lt;DISTINCT&amp;gt; &lt;SPAN class="emph"&gt;object-item&lt;/SPAN&gt; &amp;lt;, ...&lt;SPAN class="emph"&gt;object-item&lt;/SPAN&gt;&amp;gt;&lt;/P&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;INTO&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;macro-variable-specification&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;macro-variable-specification&lt;/SPAN&gt;&amp;gt;&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;SPAN class="strong"&gt;FROM&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;from-list&lt;/SPAN&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;WHERE&lt;/SPAN&gt; sql-expression&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;GROUP BY&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;group-by-item&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;group-by-item&lt;/SPAN&gt;&amp;gt;&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;HAVING&lt;/SPAN&gt; sql-expression&amp;gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;TABLE cellspacing="2" cellpadding="2"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="24"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;lt;&lt;SPAN class="strong"&gt;ORDER BY&lt;/SPAN&gt; &lt;SPAN class="emph"&gt;order-by-item&lt;/SPAN&gt; &lt;BR /&gt;&amp;lt; , ... &lt;SPAN class="emph"&gt;order-by-item&lt;/SPAN&gt;&amp;gt;&amp;gt;;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:26:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231989#M308342</guid>
      <dc:creator>MaikH_Schutze</dc:creator>
      <dc:date>2015-10-28T13:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231991#M308343</link>
      <description>&lt;P&gt;If the previous application you were using allowed the having and group by clause to be reversed that still looks like the issue.&amp;nbsp; I would try making this two seperate queries.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:31:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231991#M308343</guid>
      <dc:creator>Steelers_In_DC</dc:creator>
      <dc:date>2015-10-28T13:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231994#M308344</link>
      <description>&lt;P&gt;Check you missing data patterns. SAS will consider missing values as equal and other databases normally use tri-level logic where null values cause comparison to be neither true nor false , even when comparing null to null.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also I would not use &amp;lt;&amp;gt; as an operator. I think in PROC SQL it will be treated as meaning not equal, but in normal SAS it is the maximum operator.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Oct 2015 13:39:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/231994#M308344</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-10-28T13:39:46Z</dc:date>
    </item>
    <item>
      <title>Re: Convert code SQL to SAS</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/232078#M308345</link>
      <description>My usual question:  Why do you want to make this a Data step?</description>
      <pubDate>Wed, 28 Oct 2015 16:49:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Convert-code-SQL-to-SAS/m-p/232078#M308345</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2015-10-28T16:49:31Z</dc:date>
    </item>
  </channel>
</rss>

