<?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: I'm trying to convert SAS code into SQL. in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212125#M52396</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What are the # of observations in the old and new output? If the size has significantly changed the file sizes will change according. I'm also assuming you're creating XLSX files now rather than XLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You also haven't posted your new SQL code so a comparison can't be made - check the length of the variables in your SQL code would be my suggestion.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 28 Mar 2015 16:28:34 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2015-03-28T16:28:34Z</dc:date>
    <item>
      <title>I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212123#M52394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The SAS was written years ago by a previous developer. &lt;/P&gt;&lt;P&gt; Right now I am getting a file 77 MB in size from my SQL statement, when before the file was only 1.68 MB in size from SAS.&amp;nbsp; &lt;/P&gt;&lt;P&gt;What I need is an explanation as to what ends up in CLS_CDUP_ENRL.xls &lt;/P&gt;&lt;P&gt;CDUP, CLASS_TBL, and ENRLMNTS are large data extracts from the enterprise system. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After every KEEP statement there is an OUTPUT statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KEEP OWNER STRM SESSION_CODE CLASS_SECTION SUBJECT CATALOG_NBR CLASS_NBR EMPLID DUP_CODE;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC EXPORT DATA=CDUP_NO_ENRLMNT&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; OUTFILE= "C:\Processes\C_DUP\for_1058\CDUP_NO_ENRLMNT.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The KEEP statement causes a DATA step to write only the variables that you specify to one or more SAS data sets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem is I don't see a specific KEEP statement before CLS_CDUP_ENRL is exported.&amp;nbsp; I don't know what is retained in CLS_CDUP_ENRL.&amp;nbsp; Maybe I'm getting confused where the previous developer who made this SAS program used CLS_CDUP_ENRL in both a DATA statement and a SET statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Here is the SAS code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA CLASS_NOT_FOUND;&lt;/P&gt;&lt;P&gt;MERGE CLASS_TBL (IN=IS_A) CDUP (IN=IS_B);&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY CLS_KEY;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IF IS_B AND NOT IS_A;&lt;/P&gt;&lt;P&gt;&amp;nbsp; KEEP OWNER STRM SESSION_CODE CLASS_SECTION SUBJECT CATALOG_NBR EMPLID DUP_CODE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC EXPORT DATA=CLASS_NOT_FOUND&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; OUTFILE= "C:\Processes\C_DUP\for_1058\CLASS_NOT_FOUND_CDUP_ER1.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;DATA CLS_CDUP_VLD;&lt;/P&gt;&lt;P&gt;MERGE CLASS_TBL (IN=IS_A) CDUP (IN=IS_B);&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY CLS_KEY;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IF IS_B AND IS_A;&lt;/P&gt;&lt;P&gt;&amp;nbsp; STDNT_KEY = EMPLID || STRM || CLASS_NBR;&lt;/P&gt;&lt;P&gt;&amp;nbsp; STDNT_KEY2 = EMPLID || CRSE_ID;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC SORT DATA=CLS_CDUP_VLD;&lt;/P&gt;&lt;P&gt;BY STDNT_KEY;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;DATA CLS_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;MERGE CLS_CDUP_VLD (IN=IS_A) ENRLMNTS (IN=IS_B);&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY STDNT_KEY;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IF IS_B AND IS_A;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;DATA CDUP_NO_ENRLMNT;&lt;/P&gt;&lt;P&gt;MERGE CLS_CDUP_VLD (IN=IS_A) ENRLMNTS (IN=IS_B);&lt;/P&gt;&lt;P&gt;&amp;nbsp; BY STDNT_KEY;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IF IS_A AND NOT IS_B;&lt;/P&gt;&lt;P&gt;&amp;nbsp; KEEP OWNER STRM SESSION_CODE CLASS_SECTION SUBJECT CATALOG_NBR CLASS_NBR EMPLID DUP_CODE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC EXPORT DATA=CDUP_NO_ENRLMNT&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; OUTFILE= "C:\Processes\C_DUP\for_1058\CDUP_NO_ENRLMNT.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;DATA DUPS_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;SET CLS_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;BY STDNT_KEY;&lt;/P&gt;&lt;P&gt;IF (FIRST.STDNT_KEY = 1 &amp;amp; LAST.STDNT_KEY = 0) OR&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; (FIRST.STDNT_KEY = 0 &amp;amp; LAST.STDNT_KEY = 0) OR&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; (FIRST.STDNT_KEY = 0 &amp;amp; LAST.STDNT_KEY = 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; KEEP OWNER EMPLID STRM SESSION_CODE SUBJECT CATALOG_NBR CLASS_SECTION DUP_CODE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC EXPORT DATA=DUPS_CDUP_ENRL&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; OUTFILE= "C:\Processes\C_DUP\for_1058\DUPLICATE_CDUP_ENTRIES.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC SORT DATA=CLS_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;BY STDNT_KEY2;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;DATA UNMATCH_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;SET CLS_CDUP_ENRL;&lt;/P&gt;&lt;P&gt;BY STDNT_KEY2;&lt;/P&gt;&lt;P&gt;IF (FIRST.STDNT_KEY2 = 1 &amp;amp; LAST.STDNT_KEY2 = 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; KEEP OWNER EMPLID STRM SESSION_CODE SUBJECT CATALOG_NBR CLASS_SECTION DUP_CODE STATUS;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC EXPORT DATA=UNMATCH_CDUP_ENRL&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; OUTFILE= "C:\Processes\C_DUP\for_1058\UNMATCHED_CDUP_ENTRIES.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;RUN;&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;P&gt;PROC EXPORT DATA=CLS_CDUP_ENRL&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; OUTFILE= "C:\Processes\C_DUP\for_1058\CLS_CDUP_ENRL.xls" &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; DBMS=EXCEL2000 REPLACE;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Mar 2015 20:50:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212123#M52394</guid>
      <dc:creator>SFDonovan</dc:creator>
      <dc:date>2015-03-27T20:50:36Z</dc:date>
    </item>
    <item>
      <title>Re: I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212124#M52395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Code looks pretty simple.&amp;nbsp; If you are seeing a large increase in size then check the input data sets.&lt;/P&gt;&lt;P&gt; CLASS_TBL&amp;nbsp; &lt;/P&gt;&lt;P&gt; CDUP&lt;/P&gt;&lt;P&gt; ENRLMNTS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Mar 2015 16:04:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212124#M52395</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-03-28T16:04:10Z</dc:date>
    </item>
    <item>
      <title>Re: I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212125#M52396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What are the # of observations in the old and new output? If the size has significantly changed the file sizes will change according. I'm also assuming you're creating XLSX files now rather than XLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You also haven't posted your new SQL code so a comparison can't be made - check the length of the variables in your SQL code would be my suggestion.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Mar 2015 16:28:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212125#M52396</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-03-28T16:28:34Z</dc:date>
    </item>
    <item>
      <title>Re: I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212126#M52397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why are you converting to SQL?&lt;/P&gt;&lt;P&gt;Check the SAS log, after each step the number of observations and variables are printed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Mar 2015 17:19:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212126#M52397</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2015-03-28T17:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212127#M52398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It may be that one or more variables in the input datasets has had its attributes changed (eg because of adaption to UTF) and consumes more space.&lt;/P&gt;&lt;P&gt;We had similar things happen when the generic attribute datasets (name/value tables) had their "value" fields changed from char(100) to char(3600) by the DB designers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Mar 2015 07:04:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212127#M52398</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2015-03-30T07:04:48Z</dc:date>
    </item>
    <item>
      <title>Re: I'm trying to convert SAS code into SQL.</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212128#M52399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The lengths of the variables (especially character variables) are also an issue. So run PROC CONTENTS for each data set created.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 May 2015 21:06:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/I-m-trying-to-convert-SAS-code-into-SQL/m-p/212128#M52399</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2015-05-25T21:06:38Z</dc:date>
    </item>
  </channel>
</rss>

