Chapter Contents
Chapter Contents
Introduction to Project Management

Example 1.3: Project Scheduling and Reporting

Having defined the project and ensured that all the relationships have been modeled correctly, you can schedule the activities in the project by invoking PROC CPM. Suppose the activities can occur only on weekdays, and there is a holiday on July 3, 1998. Holiday information is passed to PROC CPM using the Holiday data set holidata. The following statements schedule the project to start on July 1, 1998. The early and late start schedules and additional project information are saved in the output data set survschd. The output data set produced by PROC CPM can then be used to generate a variety of reports. In this example, the data set is first sorted by the variable E_START and then displayed using the PRINT procedure (see Output 1.3.1).

   data holidata;
      format hol date7.;
      hol = '3jul98'd;
   proc cpm data=survey date='1jul98'd out=survschd
            interval=weekday holidata=holidata;
      activity   activity;
      successor  succ1-succ3;
      duration   duration;
      id         id phase;
      holiday    hol;

   proc sort;
      by e_start;

   proc print;

Output 1.3.1: Project Schedule: Listing

Conducting a Market Survey
Early and Late Start Schedule

Obs activity succ1 succ2 succ3 duration id phase E_START E_FINISH L_START L_FINISH T_FLOAT F_FLOAT
1 plan sur hire per design q   4 Plan Survey Plan 01JUL98 07JUL98 01JUL98 07JUL98 0 0
2 hire per trn per     5 Hire Personnel Prepare 08JUL98 14JUL98 08JUL98 14JUL98 0 0
3 design q trn per select h print q 3 Design Questionnaire Plan 08JUL98 10JUL98 09JUL98 13JUL98 1 0
4 select h cond sur     3 Select Households Prepare 13JUL98 15JUL98 15JUL98 17JUL98 2 2
5 print q cond sur     4 Print Questionnaire Prepare 13JUL98 16JUL98 14JUL98 17JUL98 1 1
6 trn per cond sur     3 Train Personnel Prepare 15JUL98 17JUL98 15JUL98 17JUL98 0 0
7 cond sur analyze     10 Conduct Survey Implement 20JUL98 31JUL98 20JUL98 31JUL98 0 0
8 analyze       6 Analyze Results Implement 03AUG98 10AUG98 03AUG98 10AUG98 0 0

The schedule produced by PROC CPM is then graphed by invoking PROC GANTT, as shown in the following code. The CALENDAR procedure or NETDRAW procedure can also be used to display the schedule. The Gantt chart produced is shown in Output 1.3.2. Note that the precedence relationships are displayed on the Gantt chart.

   goptions hpos=80 vpos=43;
   pattern1 c=green v=s;     /* duration of a non-critical activity   */   
   pattern2 c=green v=e;     /* slack time for a noncrit. activity    */
   pattern3 c=red   v=s;     /* duration of a critical activity       */
   pattern4 c=magenta v=e;   /* slack time for a supercrit. activity  */
   pattern5 c=magenta v=s;   /* duration of a supercrit. activity     */
   pattern6 c=cyan v=s;      /* actual duration of an activity        */ 
   pattern7 c=black v=e;     /* break due to a holiday                */

   title c=black f=swiss 'Conducting a Market Survey';
   title2 c=black f=swiss h=1.5 'Early and Late Start Schedule';
   proc gantt graphics data=survschd holidata=holidata;
      chart / holiday=(hol) interval=weekday
              font=swiss skip=2 height=1.2 nojobnum
              compress noextrange
              activity=activity succ=(succ1-succ3)
              cprec=blue caxis=black ;
      id   id phase;

Output 1.3.2: Gantt Chart of SURVEY Project
in3.gif (5683 bytes)

Chapter Contents
Chapter Contents

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