hi i am looking to get total of two variables in seprate column like as shown in below format . also looking to get age/total %. can anyone help please thanks
PROC TABULATE data=sashelp.class missing format=comma29.; class sex; var age height; table sex ='eligible/ineligible' all = 'Total', all='Tota' (age height )*SUM=''/box='DATA' ; run;
Thank you for using a SAS supplied data set we can run code.
Tabulate does not do sums of different variables. You would need Proc report for that .
proc report data=sashelp.class; column sex age height tot totpct ; define sex /group; define age / sum; define height/ sum; define tot /Computed "Total"; define totpct/Computed format=percent8.1; compute tot; tot = age.sum +height.sum; endcomp; compute totpct; totpct = age.sum/(age.sum+height.sum); endcomp; rbreak after/summarize; run;
Or use proc summary to summarize the age and height by sex in a data step first and precalculate the row summaries. Note that Proc summary will provide an overall summary.
proc summary data=sashelp.class; class sex; var age height; output out=work.summary sum=; run;
The _type_ variable in the output data indicates which combinations of the class variables appear. You could use this in a data step to calculate the sum of age and height plus the desired percent for each row.
Then use Proc Print to display the result.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.