Prevent writing shapes to the temporary directory

When outputting numbers to disk, I like to suppress all output in SAS to make the user (me) look at the actual file that was created. To do this, I set the following parameters.

ods listing;
ods noresults;
goptions
  reset   = all
  rotate  = landscape
  xpixels = 1294
  ypixels = 800
  device  = png
  gsfname = outPlot
  gsfmode = replace
;

My plot call routine might look something like this:

filename outPlot 'C:\Users\...\My Output Directory\Figure.png';

proc gplot data = plot_data;
    plot y_value * x_value = symbol / 
      haxis   = axis1 
      vaxis   = axis2 
      legend  = legend1
;
run;
quit;

filename outPlot clear;

As I understand it, this redirects the list to my desired output directory. However, in my log I see something like this:

NOTE: 51820 bytes written to C:\Users\...\Temp\1\SAS Temporary Files\_TD6828_2UA3331QB3_\gplot6.png.
NOTE: 51832 bytes written to C:\Users\...\My Output Directory\Figure.png.

This means that the picture is first written to disk in a temporary folder, and then written to the directory I want.

I want to speed up the plot creation and suspect that this extra write to the temporary directory slows down.

Is there a way to write only my selected directory?

+4
source share
1

, , ODS. , Enterprise Guide SAS HTML. , , , .

, ODS- , dictionary.destinations ( sashelp.vdest). . support.sas.com/kb/33/590.html.

:

proc sql noprint; 
  select destination into :openDestinations separated by ', ' 
  from dictionary.destinations ; 
quit;

%put &=openDestinations;

- , , :

ods _all_ close;
ods listing;
+4

Source: https://habr.com/ru/post/1675191/


All Articles