BookmarkSubscribeRSS Feed
Nini
Calcite | Level 5
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?
4 REPLIES 4
Reeza
Super User

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?

 

Shmuel
Garnet | Level 18

Can you post a sample of your dataset and in what format you want the report  ?

Nini
Calcite | Level 5

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%

 

 

Ksharp
Super User

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;

 

 

 

sas-innovate-2024.png

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.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 754 views
  • 0 likes
  • 4 in conversation