Hello
Is it possible to calculate percent from total in proc means >?
You can, but it's a 2-step process.
Don't let that deter you though. It is very powerful and you can derive many percentages in one go.
Something like:
proc means;
class A B C D E F;
types A* (B*C B*D B*E B*F) /* whatever crossings you need */
(B*C B*D B*E B*F);
output out=SUM n= /* whatever stats you need, or just counts*/ ;
run;
data PCT;
merge SUM( rename=(_FREQ_=TOTAL) where=( missing(A)) )
SUM( rename=(_FREQ_=COUNT) where=(^missing(A)) ) ;
by B C D E F;
PCT= COUNT / TOTAL;
drop A;
run;
Adapt to your needs. Untested code written from afk, but the principle is sound.
It's possible but I'd probably recommend PROC TABULATE instead, which can likely do it in one step instead. Assuming you're not actually asking if its possible but how to do it, I would refer to the following:
proc tabulate data=sashelp.cars format=8.2;
class origin type;
table type all, (origin all)*(n*f=8. reppctn) / rts=10;
run;
More details are available here:
https://support.sas.com/resources/papers/proceedings13/134-2013.pdf
@Ronein wrote:
Hello
Is it possible to calculate percent from total in proc means >?
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.