Example 2.14: Summarizing Resource Utilization
This example shows how you can use the RESOURCE statement in
conjunction with the RESOURCEOUT= option to summarize resource
utilization. The example assumes that Engineer is a
resource category and the project network (in AOA format)
along with resource requirements for each activity is in a SAS data
set, as displayed in Output 2.14.1.
Output 2.14.1: Resource Utilization: WIDGRES
Summarizing Resource Utilization |
Activity Data Set |
Obs |
task |
days |
tail |
head |
engineer |
1 |
Approve Plan |
5 |
1 |
2 |
2 |
2 |
Drawings |
10 |
2 |
3 |
1 |
3 |
Anal. Market |
5 |
2 |
4 |
1 |
4 |
Write Specs |
5 |
2 |
3 |
2 |
5 |
Prototype |
15 |
3 |
5 |
4 |
6 |
Mkt. Strat. |
10 |
4 |
6 |
. |
7 |
Materials |
10 |
5 |
7 |
. |
8 |
Facility |
10 |
5 |
7 |
2 |
9 |
Init. Prod. |
10 |
7 |
8 |
4 |
10 |
Evaluate |
10 |
8 |
9 |
1 |
11 |
Test Market |
15 |
6 |
9 |
. |
12 |
Changes |
5 |
9 |
10 |
2 |
13 |
Production |
0 |
10 |
11 |
4 |
14 |
Marketing |
0 |
6 |
12 |
. |
15 |
Dummy |
0 |
8 |
6 |
. |
|
Output 2.14.2: Resource Utilization: HOLDATA
Summarizing Resource Utilization |
Holidays Data Set HOLDATA |
Obs |
hol |
name |
1 |
25DEC91 |
Christmas |
2 |
01JAN92 |
New Year |
|
In the following program, PROC CPM is invoked with the
RESOURCE statement identifying the resource
for which usage information is required.
The project is scheduled only on weekdays, and
holiday information is included via the Holiday data set, HOLDATA,
which identifies
two holidays, one for Christmas and one for New Year's Day. Output 2.14.2
shows the Holiday data set.
The program saves the resource usage information in a data set named
ROUT, which is displayed in Output 2.14.3.
Two variables, Eengineer and Lengineer,
denote the usage of the resource engineer corresponding to the
early and
late start schedules, respectively. Note the naming convention for the
variables in the resource usage data set: A prefix (E for Early and
L for Late) is followed by the name of the resource variable, engineer.
Note also that the data set contains only
observations corresponding to weekdays; by default, the _TIME_ variable
in the resource usage output data set increases by one unit
interval
of the default calendar for every observation. Further, the MAXDATE= option
is used in the RESOURCE statement to get resource usage information only
for the month of December.
proc cpm date='2dec91'd interval=weekday
resourceout=rout data=widgres
holidata=holdata;
id task;
tailnode tail;
duration days;
headnode head;
resource engineer / maxdate='31dec91'd;
holiday hol;
run;
Output 2.14.3: Resource Utilization: Resource Usage Data Set
Summarizing Resource Utilization |
Resource Usage |
Obs |
_TIME_ |
Eengineer |
Lengineer |
1 |
02DEC91 |
2 |
2 |
2 |
03DEC91 |
2 |
2 |
3 |
04DEC91 |
2 |
2 |
4 |
05DEC91 |
2 |
2 |
5 |
06DEC91 |
2 |
2 |
6 |
09DEC91 |
4 |
1 |
7 |
10DEC91 |
4 |
1 |
8 |
11DEC91 |
4 |
1 |
9 |
12DEC91 |
4 |
1 |
10 |
13DEC91 |
4 |
1 |
11 |
16DEC91 |
1 |
3 |
12 |
17DEC91 |
1 |
3 |
13 |
18DEC91 |
1 |
3 |
14 |
19DEC91 |
1 |
3 |
15 |
20DEC91 |
1 |
3 |
16 |
23DEC91 |
4 |
4 |
17 |
24DEC91 |
4 |
4 |
18 |
26DEC91 |
4 |
4 |
19 |
27DEC91 |
4 |
4 |
20 |
30DEC91 |
4 |
4 |
21 |
31DEC91 |
4 |
4 |
|
This data set can be used as input for
any type of resource utilization report. In this example, the
resource usage for the month of December is presented in two ways:
on a calendar and in a chart. The following program prints the
calendar and bar chart:
/* format the Engineer variables */
proc format;
picture efmt other='9 ESS Eng.';
picture lfmt other='9 LSS Eng.';
proc calendar legend weekdays
data=rout holidata=holdata;
id _time_;
var eengineer lengineer;
format eengineer efmt. lengineer lfmt.;
holiday hol;
holiname name;
proc chart data=rout;
hbar _time_/sumvar=eengineer discrete;
hbar _time_/sumvar=lengineer discrete;
run;
Output 2.14.4: Calendar Showing Resource Usage
Summarizing Resource Utilization |
Resource Usage |
-------------------------------------------------------------
| |
| December 1991 |
| |
|-----------------------------------------------------------|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|-----------+-----------+-----------+-----------+-----------|
| 2 | 3 | 4 | 5 | 6 |
| | | | | |
| 2 ESS Eng | 2 ESS Eng | 2 ESS Eng | 2 ESS Eng | 2 ESS Eng |
| 2 LSS Eng | 2 LSS Eng | 2 LSS Eng | 2 LSS Eng | 2 LSS Eng |
|-----------+-----------+-----------+-----------+-----------|
| 9 | 10 | 11 | 12 | 13 |
| | | | | |
| 4 ESS Eng | 4 ESS Eng | 4 ESS Eng | 4 ESS Eng | 4 ESS Eng |
| 1 LSS Eng | 1 LSS Eng | 1 LSS Eng | 1 LSS Eng | 1 LSS Eng |
|-----------+-----------+-----------+-----------+-----------|
| 16 | 17 | 18 | 19 | 20 |
| | | | | |
| 1 ESS Eng | 1 ESS Eng | 1 ESS Eng | 1 ESS Eng | 1 ESS Eng |
| 3 LSS Eng | 3 LSS Eng | 3 LSS Eng | 3 LSS Eng | 3 LSS Eng |
|-----------+-----------+-----------+-----------+-----------|
| 23 | 24 | 25 | 26 | 27 |
| | |*Christmas*| | |
| 4 ESS Eng | 4 ESS Eng | | 4 ESS Eng | 4 ESS Eng |
| 4 LSS Eng | 4 LSS Eng | | 4 LSS Eng | 4 LSS Eng |
|-----------+-----------+-----------+-----------+-----------|
| 30 | 31 | | | |
| | | | | |
| 4 ESS Eng | 4 ESS Eng | | | |
| 4 LSS Eng | 4 LSS Eng | | | |
-------------------------------------------------------------
|
--------------------------
| Legend |
| |
| ESS Usage of engineer |
| LSS Usage of engineer |
--------------------------
|
|
Output 2.14.5: Bar Chart for Early Start Usage
Summarizing Resource Utilization |
Resource Usage |
Period Identifier ESS Usage of en
Sum
|
02DEC91 |******************** 2.000000
03DEC91 |******************** 2.000000
04DEC91 |******************** 2.000000
05DEC91 |******************** 2.000000
06DEC91 |******************** 2.000000
09DEC91 |**************************************** 4.000000
10DEC91 |**************************************** 4.000000
11DEC91 |**************************************** 4.000000
12DEC91 |**************************************** 4.000000
13DEC91 |**************************************** 4.000000
16DEC91 |********** 1.000000
17DEC91 |********** 1.000000
18DEC91 |********** 1.000000
19DEC91 |********** 1.000000
20DEC91 |********** 1.000000
23DEC91 |**************************************** 4.000000
24DEC91 |**************************************** 4.000000
26DEC91 |**************************************** 4.000000
27DEC91 |**************************************** 4.000000
30DEC91 |**************************************** 4.000000
31DEC91 |**************************************** 4.000000
|
----------+---------+---------+---------+
1 2 3 4
ESS Usage of engineer
|
|
Output 2.14.6: Bar Chart for Late Start Usage
Summarizing Resource Utilization |
Resource Usage |
Period Identifier LSS Usage of en
Sum
|
02DEC91 |******************** 2.000000
03DEC91 |******************** 2.000000
04DEC91 |******************** 2.000000
05DEC91 |******************** 2.000000
06DEC91 |******************** 2.000000
09DEC91 |********** 1.000000
10DEC91 |********** 1.000000
11DEC91 |********** 1.000000
12DEC91 |********** 1.000000
13DEC91 |********** 1.000000
16DEC91 |****************************** 3.000000
17DEC91 |****************************** 3.000000
18DEC91 |****************************** 3.000000
19DEC91 |****************************** 3.000000
20DEC91 |****************************** 3.000000
23DEC91 |**************************************** 4.000000
24DEC91 |**************************************** 4.000000
26DEC91 |**************************************** 4.000000
27DEC91 |**************************************** 4.000000
30DEC91 |**************************************** 4.000000
31DEC91 |**************************************** 4.000000
|
----------+---------+---------+---------+
1 2 3 4
LSS Usage of engineer
|
|
Charts such as those shown in Output 2.14.4 through 2.14.6
can be used to compare different schedules with respect to
resource usage.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.