CALENDAR Procedure

BY Statement

Processes activities separately for each BY group, producing a separate calendar for each value of the BY variable.
Supports: Summary and schedule calendars
See: CALID Statement

BY (main discussion)

Schedule Calendar with Holidays: 5-Day Default


Required Argument

specifies the variable that the procedure uses to form BY groups. You can specify more than one variable, but the observations in the data set must be sorted by all the variables that you specify or have an appropriate index. Variables in a BY statement are called BY variables.

Optional Arguments

specifies that the observations are 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 observations are grouped in another way (for example, chronological order).


When you use the CALID statement, you can process activities that apply to different calendars, indicated by the value of the CALID variable. Because you can specify only one CALID variable, however, you can create only one level of grouping. For example, if you want a calendar report to show the activities of several departments within a company, then you can identify each department with the value of the CALID variable and produce calendar output that shows the calendars for all departments.
When you use a BY statement, however, you can further divide activities into related groups. For example, you can print calendar output that groups departmental calendars by division. The observations for activities must contain a variable that identifies which department an activity belongs to and a variable that identifies the division that a department resides in. Specify the variable that identifies the department with the CALID statement. Specify the variable that identifies the division with the BY statement.