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 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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