BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi,

In a proc report the data is all missing. I would like to show it also as missing, but in the total at the end of the proc report. I would like to show a '0' instead of missing.

How do I do this?

Thierry
3 REPLIES 3
Olivier
Pyrite | Level 9
Hi Thierry.
You just have to add a COMPUTE block to your report procedure to "correct" the sum after computing.
[pre]
DATA work.test ;
SET sashelp.class ;
dummyVar = . ;
RUN ;
PROC REPORT DATA = work.test NOWD ;
COLUMNS _ALL_ ;
DEFINE dummyVar / ANALYSIS SUM ;
RBREAK AFTER / SUMMARIZE ;
COMPUTE AFTER ;
dummyVar.sum = COALESCE(dummyVar.sum, 0) ; /* if you're using SAS 9 */
/* IF MISSING(dummyVar.sum) THEN dummyVar.sum = 0 ; */ /* in previous versions */
ENDCOMP ;
RUN ;
[/pre]
Regards.
Olivier
deleted_user
Not applicable
Hi Oliver,

This works great!!!
Thanks alot!

Thierry
Cynthia_sas
Diamond | Level 26
Hi, Olivier:
That's a good solution. This is another that doesn't require a compute block, only MISSING in the PROC REPORT statement:
[pre]
DATA work.test ;
SET sashelp.class ;
dummyVar = . ;
RUN ;

options missing=0;

PROC REPORT DATA = work.test NOWD missing;
COLUMNS _ALL_ ;
DEFINE dummyVar / ANALYSIS SUM ;
RBREAK AFTER / SUMMARIZE ;
RUN ;

options missing=.;
[/pre]

There's usually more than one way to do something in SAS!
cynthia

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore 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
  • 3 replies
  • 1548 views
  • 0 likes
  • 3 in conversation