The Earned Value Management Macros

%EVA_EARNED_VALUE

This macro is used to produce the periodic earned value and actual cost.

%EVA_EARNED_VALUE ( parameters ) ;

Note: %EVA_EARNED_VALUE requires output from %EVA_PLANNED_VALUE.

Required Parameters

ACTIVITY= variable

specifies the activity variable in the REVISESCHED=, ACTUALCOST=, and BUDGETCOST= data sets.

ACTUALCOST= SAS-data-set

REVISECOST=SAS-data-set

identifies the updated costs input data set.

REVISESCHED= SAS-data-set

identifies the input data set containing the updated schedule.

START= variable

specifies the start date or datetime variable in the REVISESCHED= data set.

Optional Parameters

CALENDAR= SAS-data-set

identifies the calendar input data set. (See the CALENDAR= option in Chapter 4 for more details.)

COST= variable

specifies the cost variable in the ACTUALCOST= data set. This is the total of the start and finish costs associated with the given task. At least COST= or RATE= must be specified. This parameter is only allowed if used for %EVA_PLANNED_VALUE; further, the variable specified must be the same as that specified for %EVA_PLANNED_VALUE. If a variable is specified for this parameter, but the value for the variable is missing for a given observation, the corresponding value from the BUDGETCOST= data set is used.

DURATION= variable

specifies the task duration variable in the REVISESCHED= data set. At least DURATION= or FINISH= must be specified. If both parameters are specified, the FINISH= variable value overrides a nonzero DURATION= variable value; i.e., duration is only used to indicate a milestone task.

EV= SAS-data-set

identifies the output data set, which contains the periodic earned value and revised cost. The frequency is determined by the INTERVAL= and ROUTINTERVAL= parameters. The default data set name is EV.

FINISH= variable

specifies the finish date or datetime variable in the REVISESCHED= data set. At least FINISH= or DURATION= must be specified. If both parameters are specified, the FINISH= variable value overrides a nonzero DURATION= variable value; i.e., duration is only used to indicate a milestone task.

HOLIDATA= SAS-data-set

identifies the input data set that contains the holiday schedule. (See the HOLIDATA= option in Chapter 4 for more details.)

HOLIDAY= statement

specifies the HOLIDAY statement to use for PROC CPM. For example:

%eva_earned_value(..., holiday=holiday start / holifin=finish, ...);

(See the HOLIDAY statement in Chapter 4 for more details.)

INTERVAL= interval

specifies the units to use for the DURATION= variable values. (See the INTERVAL= option in Chapter 4 for more details.)

MAXOBS= max

sets the limit on the number of allowable observations for the EV= data set. (See the MAXOBS= option of the RESOURCE statement and CPM procedure in Chapter 4 for more details.)

NROUTCAL= variable

indicates which calendar is to be used for incrementing the _TIME_ variable in the ACOSTOUT= data set. (See the NROUTCAL= option of the RESOURCE statement and CPM procedure in Chapter 4 for more details.)

RATE= variable

specifies the cost rate variable in the ACTUALCOST= data set. This is the rate at which cost is incurred over the duration of the task. The variable that contains this duration is specified with the DURATION= parameter. At least RATE= or COST= must be specified. This parameter is only allowed if used with %EVA_PLANNED_VALUE; further, the variable specified must be the same as that specified for %EVA_PLANNED_VALUE. If a variable is specified for this parameter, but the value for the variable is missing for a given observation, the corresponding value from the BUDGETCOST= data set is used.

ROUTINTERVAL= interval

specifies the period between values in the EV= data set. (See the ROUTINTERVAL= option in Chapter 4 for more details.)

SPCT= variable

specifies the start percentage variable in the ACTUALCOST= data set. This is the percentage of the COST= amount that is incurred at the beginning of the task. The default is zero, in which case the entire COST= amount is incurred at the completion of the task. The specified variable may also contain a comma-delimited list of weights to be used for distributing the cost at equal working intervals over the duration of the activity. This parameter is only allowed if used for %EVA_PLANNED_VALUE; further, the variable specified must be the same as that specified for %EVA_PLANNED_VALUE. If a variable is specified for this parameter, but the value for the variable is missing for a given observation, the corresponding value from the BUDGETCOST= data set will be used.

TASKPV= SAS-data-set

identifies the input data set containing the planned duration and costs by activity, which are used to compute earned value. This data set is generated by the %EVA_PLANNED_VALUE macro, with name specified by the TASKPV= parameter of the %EVA_PLANNED_VALUE macro (see Figure 11.29). The default data set name is TASKPV.

WORKDAY= SAS-data-set

identifies the workday input data set. (See the WORKDAY= option in Chapter 4 for more details.)

Note that if a WORKDAY=, CALENDAR=, or HOLIDAY= data set is specified, the default variable name, _CAL_, is assumed for calendar identification.

Also note that the variable names specified for the ACTIVITY=, START=, FINISH=, and RATE= parameters must be the same, respectively, as those previously specified for the %EVA_PLANNED_VALUE macro. This is to enable the subsequent use of the %EVA_TASK_METRICS  and %EVG_GANTT_CHART macros.

Table 11.2 summarizes the parameters used for managing input and output data sets in the %EVA_EARNED_VALUE macro.

Table 11.2: %EVA_EARNED_VALUE I/O Parameter Summary

Type

Data Set

Variables

INPUT

ACTUALCOST

COST, RATE, SPCT

INPUT

CALENDAR

 

INPUT

HOLIDATA

 

INPUT

REVISESCHED

ACTIVITY, DURATION, FINISH, START

INPUT

TASKPV

COST, RATE, SPCT

INPUT

WORKDAY

 

OUTPUT

EV