BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
majdi_ka
Obsidian | Level 7

Hi,

 

with proc tabulate I have this output :

 

  mean median
Age 30 25
Revenue 2700 2600

 

and what I want to have is this form :

Age mean 30
  median 25
Revenue mean 2700
  median 2600

 

Is this possible? 

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
majdi_ka
Obsidian | Level 7

Based on your previous post, I edited the code because I have only numeric variables :

 

PROC TABULATE
DATA=SASHELP.CLASS
	
	;
	VAR Height Age;
	TABLE 
		/* ROW Statement */
		Height * Mean={LABEL="Mean"} Height={LABEL=""} * Median={LABEL="Median"} 
		Age * Mean={LABEL="Mean"} Age={LABEL=""} * Median={LABEL="Median"} ,
		/* COLUMN statement */
		ALL=' ' 		;
	;

RUN;

And I have the result that I want Man Very Happy :

 

Height Mean 62.34
  Median 62.80
Age Mean 13.32
  Median 13.00

 

What I looked for is the " , ALL=' '  " 

 

Thanks a lot @Reeza!

View solution in original post

6 REPLIES 6
Reeza
Super User
Yes, change your table statement. If you post your code, someone can suggest the change from the current code.
majdi_ka
Obsidian | Level 7

@Reeza,

OK, it's a simple code:

 

proc tabulate data=have;
  var age revenue;
  tables
     /*line*/
     age
     revenue,

     /*column*/
     (mean median);
run;

      

 

MK

Reeza
Super User
What does the following give you:

tables (age revenue)*(mean median);
majdi_ka
Obsidian | Level 7

it gives a vertical summary table like this :

 

Age Revenue
mean median mean median
Reeza
Super User
PROC TABULATE
DATA=SASHELP.CLASS
	
	;
	
	VAR Height;
	CLASS Sex /	ORDER=UNFORMATTED MISSING;
	CLASS Age /	ORDER=UNFORMATTED MISSING;
	TABLE 
		/* ROW Statement */
		Sex *Age  *(Height * Mean={LABEL="Average"} Height * Median={LABEL="Median"} ),
		/* COLUMN statement */
		ALL=' ' 		;
	;

RUN;
majdi_ka
Obsidian | Level 7

Based on your previous post, I edited the code because I have only numeric variables :

 

PROC TABULATE
DATA=SASHELP.CLASS
	
	;
	VAR Height Age;
	TABLE 
		/* ROW Statement */
		Height * Mean={LABEL="Mean"} Height={LABEL=""} * Median={LABEL="Median"} 
		Age * Mean={LABEL="Mean"} Age={LABEL=""} * Median={LABEL="Median"} ,
		/* COLUMN statement */
		ALL=' ' 		;
	;

RUN;

And I have the result that I want Man Very Happy :

 

Height Mean 62.34
  Median 62.80
Age Mean 13.32
  Median 13.00

 

What I looked for is the " , ALL=' '  " 

 

Thanks a lot @Reeza!

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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
  • 6 replies
  • 1538 views
  • 2 likes
  • 2 in conversation