<?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: ODS Excel PROC Report &amp;amp; PROC PRINT insufficient memory in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738174#M230211</link>
    <description>Updated my code and tested and this solution worked for me as well. Thanks for the suggestion!</description>
    <pubDate>Fri, 30 Apr 2021 15:29:12 GMT</pubDate>
    <dc:creator>DerekD_WF</dc:creator>
    <dc:date>2021-04-30T15:29:12Z</dc:date>
    <item>
      <title>ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/737887#M230085</link>
      <description>&lt;P&gt;I am attempting to create a 'report' (more like a listing of rows from a dataset) utilizing ODS Excel and keep running into the "ERROR: The SAS System stopped processing this step because of insufficient memory." problem. I read through a handful of other posts on this topic:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Insufficiency-memory-error/m-p/444989" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/Insufficiency-memory-error/m-p/444989&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/ERROR-The-SAS-System-stopped-processing-this-step-because-of/m-p/333552" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/ERROR-The-SAS-System-stopped-processing-this-step-because-of/m-p/333552&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/SAS-System-stopped-processing-this-step-because-of-insufficient/m-p/602984" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/SAS-System-stopped-processing-this-step-because-of-insufficient/m-p/602984&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-Excel-and-Insufficient-Memory-Error-how-to-get-around/m-p/320661#M17555" target="_blank"&gt;https://communities.sas.com/t5/ODS-and-Base-Reporting/ODS-Excel-and-Insufficient-Memory-Error-how-to-get-around/m-p/320661#M17555&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/error-with-proc-report/m-p/706206#M216729" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/error-with-proc-report/m-p/706206#M216729&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is from the log with FULLSTIMER option set:&lt;/P&gt;
&lt;P&gt;118 ods select all;&lt;BR /&gt;119 ods excel options(sheet_interval="none" sheet_name="list");&lt;BR /&gt;120 &lt;BR /&gt;121 proc report data=work.CA_rpt1;&lt;BR /&gt;122 &lt;BR /&gt;&amp;lt; 19 columns &amp;gt;&lt;BR /&gt;126 &lt;BR /&gt;&amp;lt; I define / display the same 19 variables here&amp;gt;&lt;BR /&gt;146 run;&lt;/P&gt;
&lt;P&gt;NOTE: Multiple concurrent threads will be used to summarize data.&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;ERROR: The SAS System stopped processing this step because of insufficient memory.&lt;/FONT&gt;&lt;BR /&gt;NOTE: There were &lt;STRONG&gt;56673 observations read from the data set WORK.CA_RPT1.&lt;/STRONG&gt;&lt;BR /&gt;NOTE: PROCEDURE REPORT used (Total process time):&lt;BR /&gt;real time 17.50 seconds&lt;BR /&gt;user cpu time 15.47 seconds&lt;BR /&gt;system cpu time 2.00 seconds&lt;BR /&gt;&lt;STRONG&gt;memory 3658694.14k&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;OS Memory 4194180.00k&lt;/STRONG&gt;&lt;BR /&gt;Timestamp 04/29/2021 05:13:57 AM&lt;BR /&gt;Step Count 11 Switch Count 18&lt;BR /&gt;Page Faults 0&lt;BR /&gt;Page Reclaims 1382625&lt;BR /&gt;Page Swaps 0&lt;BR /&gt;Voluntary Context Switches 160&lt;BR /&gt;5 The SAS System&lt;/P&gt;
&lt;P&gt;Involuntary Context Switches 9&lt;BR /&gt;Block Input Operations 16&lt;BR /&gt;Block Output Operations 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My information:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am running in SAS Enterprise Guide&amp;nbsp;7.15 (7.100.5.5850) (64-bit), connected to a Linux server.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;88 &lt;BR /&gt;89 proc product_status; run;&lt;/P&gt;
&lt;P&gt;For Base SAS Software ...&lt;BR /&gt;Custom version information: 9.4_M6&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;85 &lt;BR /&gt;86 proc options option=memsize;&lt;BR /&gt;87 run;&lt;/P&gt;
&lt;P&gt;MEMSIZE=4294967296&lt;BR /&gt;Specifies the limit on the amount of virtual memory that can be &lt;BR /&gt;used during a SAS session.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Whereas for PROC Export:&lt;/P&gt;
&lt;P&gt;NOTE: The export data set has 56673 observations and 20 variables.&lt;BR /&gt;NOTE: "" file was successfully created.&lt;BR /&gt;NOTE: PROCEDURE EXPORT used (Total process time):&lt;BR /&gt;real time 3.77 seconds&lt;BR /&gt;user cpu time 3.65 seconds&lt;BR /&gt;system cpu time 0.10 seconds&lt;BR /&gt;&lt;STRONG&gt;memory 30174.40k&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;OS Memory 80616.00k&lt;/STRONG&gt;&lt;BR /&gt;Timestamp 04/29/2021 06:01:43 AM&lt;BR /&gt;Step Count 15 Switch Count 4&lt;BR /&gt;Page Faults 0&lt;BR /&gt;Page Reclaims 23209&lt;BR /&gt;Page Swaps 0&lt;BR /&gt;Voluntary Context Switches 18&lt;BR /&gt;Involuntary Context Switches 10&lt;BR /&gt;Block Input Operations 2089&lt;BR /&gt;Block Output Operations 9872&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I initially tried using a simple proc print instead of proc report, but that runs into the same insufficient memory error so I assume this to be an ODS Excel issue and not anything with PROC Print or PROC Report. In addition, I can just perform a PROC Export which creates an Excel file ~4.9MB in size. Does it really consume 100x (Export=&lt;STRONG&gt;30,174.40k&lt;/STRONG&gt; vs ODS Excel Report=&lt;STRONG&gt;3,658,694.14k&lt;/STRONG&gt;) the memory to create an Excel file with ODS Excel vs PROC Export for XLSX? While export is a viable alternative, as part of the script I also create a couple of summaries using PROC Tabulate on separate Excel sheets and was hoping to contain all output in a single Excel file for my end users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is the only work around to get MEMSIZE increased? I have reached out to our internal SAS/server team for assistance as well as I am not sure I have any control over&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Apr 2021 13:05:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/737887#M230085</guid>
      <dc:creator>DerekD_WF</dc:creator>
      <dc:date>2021-04-29T13:05:21Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/737892#M230089</link>
      <description>&lt;P&gt;The EXPORT is much more efficient because it does not set any (or most) cell attributes, which eat a LOT of space on the XML (before compressing).&lt;/P&gt;</description>
      <pubDate>Thu, 29 Apr 2021 13:12:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/737892#M230089</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-29T13:12:06Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738008#M230136</link>
      <description>&lt;P&gt;In my experience ODS is VERY resource intensive. It's fine for creating printed reports, but if you start writing tens of thousands of rows of output it consumes large amounts of CPU and memory. I'm not at all surprised by your findings. PROC EXPORT is a better option in your case.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Apr 2021 20:18:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738008#M230136</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2021-04-29T20:18:28Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738087#M230177</link>
      <description>&lt;P&gt;&amp;gt;&amp;nbsp;&lt;SPAN&gt;I am attempting to create a 'report' (more like a listing of rows from a dataset) utilizing ODS Excel&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Any reason to use ODS?&lt;/P&gt;
&lt;P&gt;If you really need to, and MEMSIZE is locked, then you might be able to fill in the excel sheet in several passes.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Apr 2021 03:17:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738087#M230177</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2021-04-30T03:17:40Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738150#M230198</link>
      <description>&lt;P&gt;the reason for ODS Excel is because I am also including a couple of summary outputs from PROC Tabulate on a worksheet separate from the listing of the detailed records.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Apr 2021 13:08:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738150#M230198</guid>
      <dc:creator>DerekD_WF</dc:creator>
      <dc:date>2021-04-30T13:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738159#M230205</link>
      <description>&lt;P&gt;First run the Reports with ODS EXCEL; reports should be fairly small. After the ODS EXCEL CLOSE, open the Excel file with LIBNAME XLSX and use PROC COPY (or DATA steps) to copy the datasets to the workbook.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Apr 2021 14:03:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738159#M230205</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-30T14:03:33Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738160#M230206</link>
      <description>Thanks, I will give that a try. After creating the reports with ODS Excel and ODS Excel close, can I do a proc export to that file in a new sheet name without overwriting the file?</description>
      <pubDate>Fri, 30 Apr 2021 14:10:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738160#M230206</guid>
      <dc:creator>DerekD_WF</dc:creator>
      <dc:date>2021-04-30T14:10:14Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738161#M230207</link>
      <description>&lt;P&gt;This should also be possible; try it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This worked with University Edition:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ods excel
  file="/folders/myfolders/test.xlsx"
  options(sheet_interval="none" sheet_name="class")
;

proc print data=sashelp.class;
run;
ods excel close;

proc export
  data=sashelp.cars
  file="/folders/myfolders/test.xlsx"
  dbms=xlsx
  replace
;
sheet="cars";
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 30 Apr 2021 14:14:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738161#M230207</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-30T14:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: ODS Excel PROC Report &amp; PROC PRINT insufficient memory</title>
      <link>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738174#M230211</link>
      <description>Updated my code and tested and this solution worked for me as well. Thanks for the suggestion!</description>
      <pubDate>Fri, 30 Apr 2021 15:29:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/ODS-Excel-PROC-Report-amp-PROC-PRINT-insufficient-memory/m-p/738174#M230211</guid>
      <dc:creator>DerekD_WF</dc:creator>
      <dc:date>2021-04-30T15:29:12Z</dc:date>
    </item>
  </channel>
</rss>

