BookmarkSubscribeRSS Feed
PeteLund
Obsidian | Level 7

In PROC TABULATE, is there a way to suppress the COLPCTN value from the total (ALL) row?  Here's some simple code and the output...

 

proc format;
  value MissingZero
    . = '0'
    other = [3.]
  ;
  picture pcnt (round)
    0 = ' - '
    other = '009.9%'
  ;
quit;

proc tabulate data=sashelp.class missing;
  class age sex;
  table age all='Total', sex*(n=''*f=MissingZero. colpctn=''*f=pcnt.) all='Total';
run;

PeteLund_0-1670609312064.png

I would like to not have the 100% on the total row - just the N.

 

Thanks.

1 REPLY 1
Cynthia_sas
Diamond | Level 26

Hi:

  If you know that the numbers will ALWAYS add up to exactly 100, you could change the picture format:

proc format;
  value MissingZero
    . = '0'
    other = [3.]
  ;
  picture pcnt (round)
    0 = ' - '
	100 = '   '
    other = '009.9%'
  ;
quit;

proc tabulate data=sashelp.class missing;
  title 'Tabulate';
  class age sex;
  table age all='Total', sex*(n=''*f=MissingZero. colpctn=''*f=pcnt.) all='Total';
run;

  Otherwise, I'd probably recommend moving to PROC REPORT because I suppose there could be a chance that your percents could add up to 99.99994 or something.

 

Cynthia

Catch up on SAS Innovate 2026

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

Explore Now →
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1 reply
  • 1162 views
  • 0 likes
  • 2 in conversation