Often a schedule is prepared without knowledge of an actual start date. For example, a proposal may be prepared and shown to a customer who wants to know what happens on each day of the project without regard to a calendar date. This article shows how to present a schedule using “Project Days” instead of calendar days by using custom fields and formulas.
Before I get started, it’s actually not possible to divorce a project schedule from a physical calendar in Project 2007 or earlier versions. In Project 2010 we’ll be able to use manual scheduling, but this will still not completely remove the calendar from the equation. This article shows how to reformat project information to give the appearance of scheduling based on “Project Days.”
Change Time Scale
Change the time scale on the right side of the Gantt view to reflect Project Days by selecting Format/Time Scale… and then selecting an appropriate format (see Figure 1).
Figure 1: Changing the appearance of a Gantt view Time Scale
Identify Start and Finish columns
Using two spare text fields (Text1 and Text2), insert them into the Gantt view and label them as “StartP” and “FinishP.” You can use any convenient name including “Start” and “Finish”; I am adding the “P” suffix only for clarity.
Columns may be inserted from the Insert Menu. When the Insert Column dialog box appears, be sure to specify the desired names as shown in Figures 2 and 3. Make sure to insert columns for both Start and Finish if you want them both to show.
Figure 2: Inserting a column.
Figure 3: Specifying column appearance.
Figure 4 shows an example of the work so far.
Figure 4. A Gantt chart with a formatted time scale.
Assuming the new dates will display as Day 1, Day 2, Day 3… a formula will concatenate the string “day,” including a trailing space followed by another formula that will calculate the difference in work days between the project start date and the start (or finish) date of a task.
Formulas are added to a custom field by right clicking on the custom field header and then selecting “Customize Fields…” as shown in Figure 5.
Figure 5: Customizing a field.
In the Customize Fields dialog box, select the formula button as shown in Figure 6.
Figure 6. Accessing the formula dialog (the Customize Fields Dialog Box).
In the formula dialog box, enter one of the following formulas.
For start dates:
“Day ” & ProjDateDiff([Project Start],[Start],[Project Calendar])/[Minutes Per Day]+1
For finish dates:
“Day ” & ProjDateDiff([Project Start],[Finish],[Project Calendar])/[Minutes Per Day]+1
Some explanation is necessary. Several constants are available to Project, including the project start date, project calendar, and number of work minutes per day. Since Project calculates durations in minutes, it’s necessary to correct the calculations to provide results in days. Also, it’s necessary to add one to the result since a the first task in the project will start on Project Day 1 instead of Project Day 0; the ProjDateDiff function returns a value of zero for tasks starting on the project start date and the zero base offset must be accounted for in the calculation.
The [Project Calendar] variable is optional and is specified when a specific calendar is required for the project. If no calendar is specified in the formula, Microsoft Project uses the default project calendar found in Project/Project Information.
Hide Project Dates
Remove the computed Start and Finish dates from the view. The result now looks like Figure 7.
Figure 7: The completed format of the Gantt view.
Last, the “StartP” and “FinishP” columns can be renamed giving the final answer, as shown in Figure 8.
Figure 8: The final view in Project Days.
Shifting Start Dates
Occasionally, the original schedule may be developed around a local holiday that happens somewhere in the middle of the schedule. If this becomes a problem, use the Adjust Dates macro from the Analysis Toolbar to shift the tasks in time. This is a good method to move all the tasks once an official project start date is known.