While running proc means, the output is as follows:
But while outputting the dataset using Output= statement, the format is completely different (Only one row with all stats of variables as variable names).
How can i get the output dataset in the same above format? (Need other stats as NMiss & Percentiles etc.)
Use the STACKODSOUTPUT option, which was introduced in SAS 9.3:
/* Use the STACKODSOUTPUT option to get output in a more natural shape */
proc means data=sashelp.cars StackODSOutput
N NMISS MEAN STD P25 MEDIAN P75;
var mpg_city mpg_highway;
ods output summary=out;
run;
proc print data=out noobs;run;
Do you need the data or a report table? If you want a readable table in the form you are showing then using ODS to output the table output would be the easiest thing.
Or transpose the output set
@ballardw: I need an output dataset in the same format as the report.(Variable Mean Min Max etc.)
Transposing the output has one row for each Statistic of the variable (Variable1_Mean, Variable1_Min etc.) but i want only one row for each variable and ststistics in columns (Same as report format).
Use the STACKODSOUTPUT option, which was introduced in SAS 9.3:
/* Use the STACKODSOUTPUT option to get output in a more natural shape */
proc means data=sashelp.cars StackODSOutput
N NMISS MEAN STD P25 MEDIAN P75;
var mpg_city mpg_highway;
ods output summary=out;
run;
proc print data=out noobs;run;
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!
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.