The following statements illustrate the use of the TIMEAXISFORMAT= option to specify formats for up to three rows of time-axis labels. The Activity data set for PROC CPM is the WIDGETA data set from Example 4.2, which defines the widget manufacturing project in AOA format.
* schedule the project subject to holidays and weekends;
proc cpm data=widgeta out=savehp
date='11mar09'd;
successor tail;
activity head;
duration days;
id task dept descrpt;
run;
* sort the schedule by the early start date ;
proc sort;
by e_start;
run;
* define a date format that includes the day of the week;
proc format;
picture dowdate (default=16) low-high = '%a, %d %b %Y'
(datatype=date fill='0');
run;
* set up pattern statements;
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 */
pattern8 c=blue v=s; /* resource schedule of activity */
pattern9 c=brown v=s; /* baseline schedule of activity */
* set graphics options;
goptions htext=1.025;
* plot the logic Gantt chart using AOA representation;
proc gantt data=savehp (obs=6);
title2 h=1.5 'Time Axis Labeling for Week Number';
chart / compress
activity=head
successor=tail
mininterval=day
increment=1
dur=days
maxdate='24MAR09'd
taformat=(date7., dowdate., downame2.)
cprec=black
;
id task;
run;
The resulting Gantt chart, displayed in Output 8.28.1, contains one time-axis row for each format specified.
