Chapter Contents


The PRINT Procedure

BY Statement

Produces a separate section of the report for each BY group.

Main discussion: BY
Featured in: Creating Separate Sections of a Report for Groups of Observations , Summing Numeric Variables with One BY Group , Summing Numeric Variables with Multiple BY Variables , Limiting the Number of Sums in a Report , and Creating a Customized Layout with BY Groups and ID Variables

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

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.

Using the BY Statement with an ID Statement
PROC PRINT uses a special layout if all BY variables appear in the same order at the beginning of the ID statement. (See Creating a Customized Layout with BY Groups and ID Variables .)

Using the BY Statement with the NOBYLINE Option
If you use the BY statement with the SAS system option NOBYLINE, which suppresses the BY line that normally appears in output produced with BY-group processing, PROC PRINT always starts a new page for each BY group. This behavior ensures that if you create customized BY lines by putting BY-group information in the title and suppressing the default BY lines with NOBYLINE, the information in the titles matches the report on the pages. (See Creating Titles That Contain BY-Group Information .)

Chapter Contents



Top of Page

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