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

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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
  • 681 views
  • 0 likes
  • 2 in conversation