data test;
infile datalines;
input ctr $ cnt ;
return;
datalines;
4411 5
4455 15
4466 6
4477 11
;
run;
proc report = test style(summary)=Header;
title 'test';
column ctr cnt PctTot;
define ctr /order order=data style (column)=Header;
define cnt /sum f=comma6.;
define PctTot ?????????????
compute after ctr ;
line ' ';
endcomp;
run;
I am attempting to do the following:
Desired Output
Title ‘ test’
Ctr Cnt PctTot
4411 5 13.51%
4455 15 40.54%
4466 6 16.21%
4477 11 29.72%
Grand Total 37 100.00
I need to round the PctTot 2 decimal places and include lines as well as a Grand Total
Moved question to ODS and Base Reporting board.
How about this one. data test; infile datalines; input ctr $ cnt ; return; datalines; 4411 5 4455 15 4466 6 4477 11 ; run; proc report data= test nowd style(summary)=Header; title 'test'; column ctr cnt PctTot; define ctr /order order=data style (column)=Header ; define cnt /sum f=comma6.; define PctTot/computed f=percent8.2; compute before; sum=cnt.sum; endcomp; compute PctTot; pcttot=cnt.sum/sum; endcomp; compute after; ctr='Total'; endcomp; rbreak after /summarize; run;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.