title: SAS PROC PRINT is really slow for me, any ideas?
body: <p>Let me start by saying that I'm on a team that are all very new to SAS.  We are using Enterprise Guide 5.1 in SAS 9.3, and have a set of schedule data arranged vertically (one or two rows per person per day).  We have some <code>PROC SQL</code> statements, a <code>PROC TRANSPOSE</code>, and a couple other steps that together primarily make the data grouped by week and displayed horizontally.  That set of code works fine.  The first time the process flow runs, it takes a little extra time establishing the connection to the database, but once the connection is made, the rest of the process only takes a few seconds (about 6 seconds for a test run of 7 months of data: 58,000 rows and 26 columns of source data going to 6,000 rows, 53 columns of output).</p>
  
  <p>Our problem is in the output.  The end-users are looking for results in Excel, so we are using the SAS Excel add-in and opening a stored process.  In order to get output, we need a <code>PROC PRINT</code>, or something similar.  But using <code>PROC PRINT</code> on the results from above (6,000 rows x 53 columns) is taking 36 seconds just to generate.  Then, it is taking another 10 seconds or so to render in EG, and even more time in Excel.</p>
  
  <p>The code is very basic, just:</p>
  
  <pre><code>PROC PRINT DATA=WORK.Report_1
      NOOBS
      LABEL;
  RUN;
  </code></pre>
  
  <p>We have also tried using a basic <code>PROC REPORT</code>, but we are only gaining 3 seconds: it is still taking 33 seconds to generate plus rendering time.</p>
  
  <pre><code>PROC REPORT DATA=WORK.Report_1
      RUN;
  QUIT;
  </code></pre>
  
  <p>Any ideas why it is taking so long?  Are there other print options that might be faster?</p>