BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Junyong
Pyrite | Level 9

I am using npar1way to get Kolmogorov–Smirnov statistics and want to get the empirical distribution functions as well. However, I am already using ods listing close and ods results=off to suppress both output and results as follows.

data have;
	do i=1 to 5;
		do j=1,2;
			do k=1 to 20;
				x=rannor(1);
				output;
			end;
		end;
	end;
run;

ods listing close;
ods results=off;

proc npar1way edf d plots=edf;
	by i;
	class j;
	var x;
	ods output ks2stats=out;
run;

ods results=on;
ods listing;

I want to use ods listing gpath="!userprofile\desktop\" and ods graphics/imagename="edf" to draw the five (for i=1 to 5) pictures—with output and results still suppressed. Where should I locate the ods listing gpath then? Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

In general, there is no need to close an ODS destination (such as LISTING) if your goal is to suppress the output. Instead, the preferred way to suppress output is to use 

ODS EXCLUDE ALL;

before the procedure call and use 

ODS EXCLUDE ALL;

after the procedure call. That way, you can use additional calls to ODS SELECT and ODS OUPUT to manage the tables and graphs.

View solution in original post

2 REPLIES 2
Junyong
Pyrite | Level 9

This is what I found. ods select edfplot alters ods listing close here.

ods select edfplot;
ods graphics on;
ods listing gpath="!userprofile\desktop\";
ods results=off;

proc npar1way edf d plots=edf;
	by i;
	class j;
	var x;
	ods output ks2stats=out;
run;

ods results=on;
ods listing gpath=none;
ods graphics off;
ods select all;

I am not sure whether this is best, but this works.

Rick_SAS
SAS Super FREQ

In general, there is no need to close an ODS destination (such as LISTING) if your goal is to suppress the output. Instead, the preferred way to suppress output is to use 

ODS EXCLUDE ALL;

before the procedure call and use 

ODS EXCLUDE ALL;

after the procedure call. That way, you can use additional calls to ODS SELECT and ODS OUPUT to manage the tables and graphs.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 553 views
  • 0 likes
  • 2 in conversation