Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The GANTT Procedure

Example 4.6: Using the MININTERVAL= and SCALE= Options

The data sets used for this example are the same as those used to illustrate PROC CPM in Example 2.2. The data set WIDGAOA defines the project using the AOA specification. The data set DETAILS specifies the abbreviated and detailed names for each of the activities in addition to the name of the department that is responsible for that activity. Notice that a dummy activity has been added to the project in order to maintain the precedence relationships established by the WIDGET data set of the previous two examples that define the same project in AON format. The two data sets WIDGAOA and DETAILS are merged to form the WIDGETA data set that is input as the Activity data set to PROC CPM. The data set SAVE produced by PROC CPM and sorted by E_START is shown in Output 4.6.1.

Because MININTERVAL=WEEK and SCALE=10, PROC GANTT uses (1000/h)% of the screen width to denote one week, where h is the value of HPOS. Note that this choice also causes the chart to become too wide to fit on one page. Thus, PROC GANTT splits the chart into two pages. The first page contains the ID variable as well as the job number while the second page contains only the job number. The chart is split so that the displayed area on each page is approximately equal. The first two PATTERN statements, used for the duration and slack time of noncritical activities, have been changed from the previous two examples. The duration of a noncritical activity is now indicated by a solid blue bar, and the slack time is indicated by a crosshatched blue bar. The SWISS font is used for all Gantt chart text by specifying the FONT= option in the CHART statement. The milestone color is changed to green using the CMILE= option. The resulting Gantt chart is shown in Output 4.6.2.

Output 4.6.1: Using the MININTERVAL= and SCALE= Options in Graphics Mode
 
Gantt Example 6
Using the MININTERVAL= and SCALE= Options

descrpt dept E_START E_FINISH L_START L_FINISH T_FLOAT F_FLOAT
Finalize and Approve Plan Planning 02DEC91 06DEC91 02DEC91 06DEC91 0 0
Prepare Drawings Engineering 07DEC91 16DEC91 07DEC91 16DEC91 0 0
Analyze Potential Markets Marketing 07DEC91 11DEC91 06JAN92 10JAN92 30 0
Write Specifications Engineering 07DEC91 11DEC91 12DEC91 16DEC91 5 5
Develop Marketing Concept Marketing 12DEC91 21DEC91 11JAN92 20JAN92 30 30
Build Prototype Engineering 17DEC91 31DEC91 17DEC91 31DEC91 0 0
Procure Raw Materials Manufacturing 01JAN92 10JAN92 01JAN92 10JAN92 0 0
Prepare Manufacturing Facility Manufacturing 01JAN92 10JAN92 01JAN92 10JAN92 0 0
Initial Production Run Manufacturing 11JAN92 20JAN92 11JAN92 20JAN92 0 0
Evaluate Product In-House Testing 21JAN92 30JAN92 26JAN92 04FEB92 5 5
Mail Product to Sample Market Testing 21JAN92 04FEB92 21JAN92 04FEB92 0 0
Begin Full Scale Marketing Marketing 21JAN92 21JAN92 10FEB92 10FEB92 20 20
Production Milestone   21JAN92 21JAN92 21JAN92 21JAN92 0 0
Engineering Changes Engineering 05FEB92 09FEB92 05FEB92 09FEB92 0 0
Begin Full Scale Production Manufacturing 10FEB92 10FEB92 10FEB92 10FEB92 0 0

   options ps=60 ls=100;

   title f=swiss 'Gantt Example 6';
   title2 f=swiss 'Using the MININTERVAL= and SCALE= Options';

   data widgaoa;
      input task $ 1-12 days tail head;
      datalines;
   Approve Plan   5   1   2
   Drawings      10   2   3
   Anal. Market   5   2   4
   Write Specs    5   2   3
   Prototype     15   3   5
   Mkt. Strat.   10   4   6
   Materials     10   5   7
   Facility      10   5   7
   Init. Prod.   10   7   8
   Evaluate      10   8   9
   Test Market   15   6   9
   Changes        5   9  10
   Production     0  10  11
   Marketing      0   6  12
   Dummy          0   8   6
   ;


   data details;
      input task $ 1-12 dept $ 15-27 descrpt $ 30-59;
      label dept = "Department"
            descrpt = "Activity Description";
      datalines;
   Approve Plan  Planning       Finalize and Approve Plan
   Drawings      Engineering    Prepare Drawings
   Anal. Market  Marketing      Analyze Potential Markets
   Write Specs   Engineering    Write Specifications
   Prototype     Engineering    Build Prototype
   Mkt. Strat.   Marketing      Develop Marketing Concept
   Materials     Manufacturing  Procure Raw Materials
   Facility      Manufacturing  Prepare Manufacturing Facility
   Init. Prod.   Manufacturing  Initial Production Run
   Evaluate      Testing        Evaluate Product In-House
   Test Market   Testing        Mail Product to Sample Market
   Changes       Engineering    Engineering Changes
   Production    Manufacturing  Begin Full Scale Production
   Marketing     Marketing      Begin Full Scale Marketing
   Dummy                        Production Milestone
   ;


   data widgeta;
      merge widgaoa details;
   run;


   * schedule the project;

   proc cpm data=widgeta date='2dec91'd out=save;
      tailnode tail;
      headnode head;
      duration days;
      id task dept descrpt;
   run;


   * sort the schedule by the early start date ;

   proc sort;
      by e_start;
   run;


   goptions vpos=42 hpos=80;

   * set up required pattern statements;

   pattern1 c=blue v=s;  /* duration of a noncrit. activity */
   pattern2 c=blue v=x5; /* slack time for a noncrit. act.  */
   pattern3 c=red  v=s;  /* duration of a critical activity */

   * plot the schedule;

   proc gantt;
      chart / mininterval=week scale=10
              dur=days cmile=green
              ref='1dec91'd to '1feb92'd by month
              font=swiss
              nolegend;
      id descrpt;
   run;

Output 4.6.2: Using the MININTERVAL= and SCALE= Options in Graphics Mode
ga06p1.gif (5278 bytes)

ga06p2.gif (4886 bytes)

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

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