I don't think PROC TABULATE will do what you want with multiple variables.
I think you'll need multiple steps, likely a PROC MEANS and a FREQ or a DATA STEP.
Either way, for more assistance please post sample data and your expected output.
Don't post images as sample data, that would mean we have to type it out 😞
@Nini wrote:
I have a number of variables showing time in minutes, each with many observations. I need to show each of the variables as a percentage of the total.I think I need to use proc tabulate but am new to SAS. Can someone help?
Can you post a sample of your dataset and in what format you want the report ?
Thanks all,
here is a sample of my data
Outdoor Leisure Team Domestic Walk Cycle Total
0 0 15 20 0 0 35
0 10 0 10 5 0 25
35 0 50 0 15 0 85
I just want to show how each of the variables contributes to the total something like below
Outdoor 25%
Leisure 10%
Team 15%
Domestic 5%
Walk 15%
Cycle 30%
Total 100%
It is very easy for IML .
data have;
input Outdoor Leisure Team Domestic Walk Cycle Total ;
cards;
0 0 15 20 0 0 35
0 10 0 10 5 0 25
35 0 50 0 15 0 85
;
run;
proc iml;
use have;
read all var _num_ into x[c=vname];
close;
ratio=t(x[+,]/sum(x[,ncol(x)]));
print (t(vname)) ratio[f=percent8.2];
quit;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.