BookmarkSubscribeRSS Feed
GregBond
Obsidian | Level 7

I have data from a survey and would like the response options which ended up having a 0 count to be shown in the tables I made in proc freq.

Seems like a simple problem to fix, but i have yet to find a solution.

Thanks!

2 REPLIES 2
Reeza
Super User

If it appears in other fields you can try the sparse option.

proc freq data=have;

table question*answer/sparse;

run;

If it doesn't appear anywhere in your data you'll need to use proc tabulate or a different proc with the the preloadfmt option.

ballardw
Super User

I would recommend using 1) custom formats and 2) Proc Tabulate, Means or Report with the Preloadfmt option

proc format library=work;
value yndr
1='Yes'
2='No'
7="Don't Know"
9="Refused";
run;
data junk;
   do i = 1 to 5; x=1;output;end;
   do i = 1 to 3; x=2;output;end;
   do i = 1 to 4; x=7;output;end;
run;

proc tabulate data=junk;
   class x / preloadfmt missing;
   format x yndr.;
   table x, n='Count'
         /printmiss misstext='0';
run;

The misstext to show the zero for a missing count, otherwise it will display your current default for missing values.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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
  • 556 views
  • 0 likes
  • 3 in conversation