Chapter Contents


The REPORT Procedure

BY Statement

Creates a separate report on a separate page for each BY group.

Restriction: If you use the BY statement, you must use the NOWINDOWS option in the PROC REPORT statement.
Restriction: You cannot use the OUT= option when you use a BY statement.
Interaction: If you use the RBREAK statement in a report that uses BY processing, PROC REPORT creates a default summary for each BY group. In this case, you cannot summarize information for the whole report.
Tip: Using the BY statement does not make the FIRST. and LAST. variables available in compute blocks.
Main discussion: BY

BY <DESCENDING> variable-1
<...<DESCENDING> variable-n> <NOTSORTED>;

Required Arguments

specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, the observations in the data set must either be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.


specifies that the data set is sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.

specifies that observations are not necessarily sorted in alphabetic or numeric order. The data are grouped in another way, for example, chronological order.

The requirement for ordering or indexing observations according to the values of BY variables is suspended for BY-group processing when you use the NOTSORTED option. In fact, the procedure does not use an index if you specify NOTSORTED. The procedure defines a BY group as a set of contiguous observations that have the same values for all BY variables. If observations with the same values for the BY variables are not contiguous, the procedure treats each contiguous set as a separate BY group.

Chapter Contents



Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.