Data visualization with SAS programming

Warning: no output destinations active...for ods graphics

Frequent Contributor
Posts: 124

Warning: no output destinations active...for ods graphics

Hi ,

I have been using the the following ods statement to output a histogram using proc sgplot. This code is contained within a macro which is placed  in another large macro and is activated when certain conditions are met...i.e:

%macro example;



ods listing gpath = "&out." ;   /

/* create PNG image file */

ods graphics on / reset=index imagename = "histogram" ;

proc sgplot data=out.&summary.;

histogram xyz;

xaxis thresholdmin=1  thresholdmax=1;


%mend example;

Within the larger code there is a statement that says:

%macro largemacro;

several sas codes--------------------



if a in (1,2,3) then %example;


%mend largemacro;

I ran it for different examples of data and this is the first time I noticed this problem. I am able to get the dataset '&summary' and it has the variable xyz in it. I also tried removing the ods_all_close statement but it still doesn't work. I don't think the ods_all_close statement affects ods grahics ( It was placed to ensure all output destinations are closed for subsequent program runs ). There are several such ods_all_close statement in the entire code. As I mentioned it works for other examples. I would appreciate your help. Thanks !

Super User
Posts: 12,148

Re: Warning: no output destinations active...for ods graphics

Your %example macro is inheriting which ever ODS destination(s) is open. If none are open at the time it is called you'll get this message.

If your largemacro is calling other macros that would be a likely place to look for an ill placed _all_ close.

Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation