MEANS Procedure
Example 10: Computing Output Statistics with Missing Class Variable Values
| Features: |
OUTPUT statement PRINT procedure |
| Data set: | CAKE |
Details
This example does the following:
- suppresses the display of PROC MEANS output
- considers missing values as valid level values for only one class variable
- orders observations in the output data set by the ascending frequency for a single class variable
- stores observations for only the highest _TYPE_ value
- stores _TYPE_ as binary character values
- stores the maximum taste score in a new variable
- displays the output data set
Program
options;
proc means data=cake chartype nway noprint;
class flavor /order=freq ascending;
class layers /missing;
var TasteScore;
output out=cakestat max=HighScore;
run;
proc print data=cakestat;
title 'Maximum Taste Score for Flavor and Cake Layers';
run;
Program Description
Set the SAS system options. The
NODATE option suppresses the display of the date and time in the output.
PAGENO= specifies the starting page number. LINESIZE= specifies the
output line length, and PAGESIZE= specifies the number of lines on
an output page.
options;
Specify the analysis options.
NWAY prints observations with the highest _TYPE_ value. NOPRINT suppresses
the display of all PROC MEANS output.
proc means data=cake chartype nway noprint;
Specify subgroups for the analysis. The CLASS statements separate the analysis by Flavor
and Layers. ORDER=FREQ and ASCENDING order the levels of Flavor by
ascending frequency. MISSING uses missing values of Layers as a valid
class level value.
class flavor /order=freq ascending;
class layers /missing;
Specify the analysis variable. The
VAR statement specifies that PROC MEANS calculate statistics on the
TasteScore variable.
var TasteScore;
Specify the output data set options. The OUTPUT statement creates the CAKESTAT data set
and generates the maximum value for the taste score to the new variable
HighScore.
output out=cakestat max=HighScore;
run;
Print the output data set WORK.CAKESTAT.
proc print data=cakestat;
title 'Maximum Taste Score for Flavor and Cake Layers';
run;
Output
The CAKESTAT output data set contains only observations for the combination of the two class variables, Flavor and Layers. Therefore, the value of _TYPE_ is 11 for all observations. The observations are ordered by ascending frequency of Flavor. The missing value in Layers is a valid value for this class variable. PROC MEANS excludes the observation with the missing flavor because it is an invalid value for Flavor.
Maximum Taste Score

Last updated: September 15, 2026