CALENDAR Procedure

Overview: CALENDAR Procedure

What Does the CALENDAR Procedure Do?

The CALENDAR procedure displays data from a SAS data set in a monthly calendar format. You can produce a schedule calendar, which schedules events around holidays and nonwork periods, or you can produce a summary calendar, which summarizes data and displays only one-day events and holidays. When you use PROC CALENDAR you can perform the following tasks:
  • schedule work around holidays and other nonwork periods
  • display holidays
  • process data about multiple calendars in a single step and print them in a separate, mixed, or combined format
  • apply different holidays, weekly work schedules, and daily work shifts to multiple calendars in a single PROC step
  • produce a mean and a sum for variables based on either the number of days in a month or the number of observations
PROC CALENDAR also contains features that are specifically designed to work with PROC CPM in SAS/OR software, a project management scheduling tool.

What Types of Calendars Can PROC CALENDAR Produce?

Simple Schedule Calendar

The following output illustrates the simplest type of schedule calendar that you can produce. This calendar output displays activities that are planned by a banking executive. The following statements produce Simple Schedule Calendar.
proc calendar data=allacty;
   start date;
   dur long;
run;
For the activities data set shown that is in this calendar, see Schedule Calendar with Holidays: 5-Day Default.
The following calendar uses one of the two default calendars, the 24-hour-day, 7-day-week calendar.
Simple Schedule Calendar
Simple Calendar

Advanced Schedule Calendar

The following output is an advanced schedule calendar produced by PROC CALENDAR. The statements that create this calendar can perform the following tasks:
  • schedule activities around holidays
  • identify separate calendars
  • print multiple calendars in the same report
  • apply different holidays to different calendars
  • apply different work patterns to different calendars
For an explanation of the program that produces this calendar, see Multiple Schedule Calendars with Atypical Work Shifts (Combined and Mixed Output).
Advanced Schedule Calendar
Well Drilling Work Schedule: Combined Calendars

Simple Summary Calendar

The following output shows a simple summary calendar that displays the number of meals served daily in a hospital cafeteria:
proc calendar data=meals;
   start date;
   sum brkfst lunch dinner;
   mean brkfst lunch dinner;
run;
In a summary calendar, each piece of information for a given day is the value of a variable for that day. The variables can be either numeric or character, and you can format them as necessary. You can use the SUM and MEAN options to calculate sums and means for any numeric variables. These statistics appear in a box below the calendar, as shown in the following output. The data set that is shown in this calendar is created in Summary Calendar with MEAN Values by Observation.
Simple Summary Calendar
December 2008 Calendar

Advanced Scheduling and Project Management Tasks

For more complex scheduling tasks, consider using the CPM procedure in SAS/OR software. PROC CALENDAR requires that you specify the starting date of each activity. When the beginning of one task depends on the completion of others and a date slips in a schedule, recalculating the schedule can be time-consuming. Instead of manually recalculating dates, you can use PROC CPM to calculate dates for project activities based on an initial starting date, activity durations, and which tasks are identified as successors to others. For an example, see Calculating a Schedule Based on Completion of Predecessor Tasks.