DATA Step, Macro, Functions and more

Proc tabulate?

Reply
New Contributor
Posts: 2

Proc tabulate?

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?
Super User
Posts: 19,822

Re: Proc tabulate?

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 Smiley Sad

 


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?

 

Trusted Advisor
Posts: 1,571

Re: Proc tabulate?

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

New Contributor
Posts: 2

Re: Proc tabulate?

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%

 

 

Super User
Posts: 10,035

Re: Proc tabulate?

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;

 

 

 

Ask a Question
Discussion stats
  • 4 replies
  • 75 views
  • 0 likes
  • 4 in conversation