Building a Project Dashboard with Formulas
in MS Project
Relu Rosenberg
Introduction
This presentation will show how to build a Project Dashboard using Excel like formulas and
functions in MS Project
The study case will walk through the steps for creating a field called “Task Progress” to
calculate the Progress status of a task and use graphical indicators for creating a dashboard
view for active tasks (task level) or project summary view (Summary tasks level)
Steps
Define the logic
Build the formula
Add graphical indicators for quick identification of tasks status, issues
Build filter based on calculated values to select tasks of interest (focus tasks)
Make customizations available to all your Project plans
Make customizations available to someone else , publish a template plan
Benefits
Automated calculation and identification of active tasks
Introduction - 2
The end result will take you from a project plan with no easy way to identify a status (left) to a
toolbox to produce one click status reports, issues , focus tasks list (right side).
If this interests you, follow the rest of this presentation !
Logic #1 – Notes
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 5
•Logic #1 is very simple to implement as it is based only on
“% Complete” and Start, End dates of the task.
It automates calculation and identification of 8 task status values !
•If %Complete is >0 it will know task work started and it will mark as “In
progress”
•Doesn’t require accurate estimate of %Complete.
•It is suitable for tasks of short duration, w/o interim milestones
•This calculation cannot establish if a task in progress is late or ahead of
the schedule. This is where logic #2 and #3 will help
Logic #2 – Use task “Status” field
Condition Task Status
Display
Field Value
%Complete = 100 Complete 0
Timephased Cumulative %Complete >0 on midnight of day before On Schedule 1 Timephased Cumulative %Complete =0 on midnight before Late 2
Task Start Date > Today Future Task 3
Go To View->More Views ->”Task Usage”
To add fields
Format -> “Detail Styles” and add “Cumulative Percent Complete” to show pane
To change displayed fields
Format->”Details” and Check/Uncheck fields
Logic #2 – Notes
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 7
•Logic #2 leverages the “Status” task field from Microsoft Project. This
will help to determine not just if a task is in Progress but also if it is on
Schedule or Late.
•It is the correct way to calculate because the time phased
“% Complete” accounts for the actual work performed over elapsed
time.
•A resource can have days off , days not worked full time, etc and
comparing ((Date()-*Start+)/*Duration+) with “% Complete” is
misleading.
•Requires more accurate estimate of %Complete of a task
•It’s suitable for tasks of longer duration where %Complete can be
measured
Logic 3 - Using EVM SPI
Resources
Define all resources
Assign rates to each resource (Std. Rate, Ovt. Rate)
Assign resource to each task
Define Earned Value Calculation options
(Tools ->Options -> Calculation)
Default task Earned Value method: % Complete
Edits to total task % complete will be spread to the status date (to see SPI>1)
Baseline project
Re-baseline every time you add tasks and resources or change tasks, resources
Logic 3 – Notes
• Logic #3 is the most sophisticated and accurate. It will allow to
determine if a task in progress is Behind Schedule, On Schedule, Ahead
of Schedule.
• It uses Earned Value Methodology and specifically it uses Schedule
Performance Index.
• For older versions of Microsoft Project which don’t have the SPI
calculated you can add SPI as a customized field, Number , with
following formula:
IIf([BCWS]>0,[BCWP]/[BCWS],0)
Since BCWS is 0 For future tasks in MS Project 2000, the formula checks
and returns SPI=0 to prevent Error due to division by 0.
• It requires accurate measurement of %Complete to provide accurate
indicator of progress status (Ahead, On Schedule, Behind)
Logic 3 - Task Progress using EVM SPI
Creating a custom field
The are several types of fields you can customize, depending on desired data type
Text, Date , Number are the most used
Start, Finish, Cost, Duration, Flag are additional types
Right click on project headings to “Insert Column” , will choose Text type field, Text2 for “Task Progress”
field
Customize field applet
Right click on field header and select Customize field
Use Rename to rename the field from Text2 to “Task Progress” for use in formulas Check the boxes for Formula and Graphical Indicators buttons for customization
Writing Formulas – simple examples
We will use these statements and functions
IIf(expression-to-test, Do-this-if-true,Do-this-if-False) Date() - returns current system date
Project fields - designated as [field-name]
Examples
Flag all active tasks (Start < Date < Finish)
IIf((Date() > [Start]) And (Date() < [Finish]),"Active Task","")
Flag all overdue tasks – (Finish < Date) and (%Complete <100)
IIf(([Finish] < Date()) And ([% Complete] < 100),"Overdue","")
Flag active and overdue tasks – combine the above
IIf((Date()>[Start]) And (Date()<[Finish]), "Active Task",
IIf(([Finish]<Date()) And ([% Complete]<100),"Overdue","") )
Writing the Formulas for “Task Progress” logic
Below formulas implement the logic diagrams (decision trees) depicted in slides
It is recommended to check each decision path in the formula using the Logic diagram
Easiest way to test the values is by adjusting the % Complete
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 15
Logic 1 - % Complete and Start/Finish Dates
IIf(*% Complete+=100,"Complete",IIf(*Estimated+=Yes,"TBD",IIf(Date()>*Finish+,”Not Finished", IIf(Date()>*Start+,IIf(*% Complete+=0,“Not Started",IIf((*Finish+-Date())<7,"Ending Next", "In progress")),IIf([Start]-Date()<7,"Starting Next","Future")))))
Logic 2 - % Complete, Task Status and Start/Finish Dates
IIf([% Complete]=100,"Complete",IIf([Estimated]=Yes,"TBD",IIf(Date()>[Finish],"Not
Finished",IIf(Date()>[Start],IIf([% Complete]=0,"Not Started",IIf(([Finish]-Date())<7,"Ending Next",IIf([Status]=1,"On Schedule","Late"))),IIf([Start]-Date()<7,"Starting Next","Future")))))
Logic 3 - Use SPI and Start/Finish Dates
IIf([% Complete]=100,"Complete",IIf([Estimated]=Yes,"TBD",IIf(Date()>[Finish],"Not
Finished",IIf(Date()>[Start],IIf([% Complete]=0,"Not Started",IIf(([Finish]-Date())<7,"Ending Next",IIf([SPI]<1,"Late",IIf([SPI]>1,"Ahead","On Schedule")))),IIf([Start]-Date()<7,"Starting Next","Future")))))
Formula written in structured format
IIf([ % Complete]=100, “Complete" IIf([Estimated]=Yes, "TBD", IIf(Date()>[Finish], "Not Finished", IIf(Date()>[Start], IIf([%Complete]=0, "Not Started", IIf(([Finish]-Date())<7, "Ending Next", IIf([Status]=1, “On Schedule”, “Late” ) ) ), IIf([Start]-Date()<7, "Starting Next", "Future Task"Using Formula Applet
Press Formula button to open the applet
Use Field button to inserts field names in formula and Function button to select functions
To learn more about functions search for “Project functions” in Help
Add Graphical Indicators
Check Graphical Indicators … Radio button to enable
Press Graphical Indicator… Button to define the values
Select “Nonsummary rows” to display indicator for tasks only
Set Calculations Mode
Confirm/Set Calculations mode to Automatic
Tools->Options->Calculation Tab
Check/Set Calculation Mode: Automatic
Project Plan without Graphical Indicators
Project Plan with Calculated Status & Graphical Indicators
Project Plan with Graphical Indicators – 2
Project tasks review using filters
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 23
Select tasks of interest
In progress, Ending Next, Starting Next
Select issues
Not started, Late, Not Finished, TBD (Dates not Confirmed)
Create Filter
Got to Project->Filtered For->More Filters Select New
Check radio button for Task filter In New Filter Applet
o Define the Name
o Check Show In Menu to see it in Filters list o Define the rules for tasks selection
Project tasks review – Filter: Focus tasks (less clutter)
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 25
Project tasks review – Filter: Issues
Project Dashboard – phase level report for management
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 27
Project Dashboard – Phase & Major Activities review
Share customizations
10/6/2010 Relu Rosenberg, PMP, Six Sigma Black Belt 29
Make customizations available to all your projects
Any MS Project object customized in a project plan will be saved within the project file only.
In order to make these objects available to the other projects they need to be saved in the global template. Identify all customizations
o Tools->Organizer and go through each tab (object category).
o Left side “Global.MPT” represents global objects, right side shows the objects exiting only in the specific project file.
Share customizations - 2
Share customizations with others
Create a blank project files
Copy all customizations from Global to the Project file
o Tools->Organizer and go through each tab (object category).
o Left side “Global.MPT” represents global objects, right side shows the objects exiting only in the specific project file.