I figured I’d clean out my old queue of blog posts that I’d written but never published. This particular post was half written when 2010 came out, and was sidelined while I soaked up all of the new product goodness. I then borrowed parts of it for an MVP blog post and never got around to fixing it up. Since I have a couple upcoming “Tips and Tricks” presentations coming up, I figured it was probably time to resurrect it.
Hence, this post marks the beginning of a multipart series on developing rollup views within the Microsoft Project desktop client. Note that the screenshots are mostly from the 2007 version, but that everything should apply pretty much the same to 2010. I guess at this point, that may engender some points purely for nostalgia.
This post focuses on using built-in functionality that a lot of people are not familiar with. In this case, our goal is to generate a simple, 1 page report of an active project using Microsoft Project’s Rollup and Group features. Note that the Rollup component of this discussion may not be as relevant to the Project 2010 users – as they have access to the Timeline view, which pretty much serves the same purpose (albeit with some limitations). That’s not to say that the instructions below will not apply to Project 2010, only that there’s an easier way to accomplish the same thing. The Group section of this post is still definitely relevant to Project 2010.
Understanding Out of the Box Views
Microsoft Project contains a number of Rollup Views out of the box. Few users in my experience have ever used these views, but they’re still there. The 2007 version even included the Rollup_Formatting Macro, which is one of those items that didn’t quite make the transfer to the 2010 product. (For instructions on how to bring it over to 2010, please see Dale Howard’s post on the topic.)
The macro actually performs/performed (depending on which version you’re using) some interesting functions:
- It removed any custom bar styles applied to the view.
- Toggled how the bars show up within the view (i.e. simply a finish milestone or the entire task bar)
- Flag every other task to display the task label above the task using the Flag10 field. This effectively staggers the labels for the tasks so that there’s less chance of text overlap.
Here’s the same view with the summary row expanded. Note how the Text Above field is flagged as yes for every alternate row.
Microsoft Project also comes with a couple other rollup views:
- Bar Rollup – displays bars on the summary level.
- Milestone Date Rollup – displays diamonds and dates for milestones at the summary level.
- Milestone Rollup – displays diamonds at the summary level.
Rolling Data Up
First and foremost, it is important to remember that any schedule should be built upon the foundation of the WBS. That is the crux of effective rollup reporting. Each element of the schedule should be rolled up to match a specific deliverable listed within the WBS.
Assuming that this is indeed the case, then rolling up data will provide an easy to use view listing each WBS item on a specific line. Three elements are required to manage the data rollup feature:
1) Format > Layout > Uncheck the first two options. We’ll talk about how to use this feature in the next section. For now, I generally recommend turning it off, as it negates the ability to toggle rollups on or off using the default Rollup field.
2) Summary Task Level Rollup Field – Setting this to No will turn off all rollup functionality for this specific summary task. This should be turned on for any summary task intended to be displayed as a rollup task in the Gantt Chart.
3) Task Level Rollup Field – Setting this field to Yes will rollup the task to any summary task that also has the Rollup field set to Yes. If the summary task has Rollup set to No, this field will not have any impact.
So let’s take a look at a couple of examples. This is a relatively simple set of experiments borrowed from questions seen frequently on the Microsoft Project newsgroups.
In the first example, we wish to display a set of four subtasks rolled up on one Gantt Line. These may be subtasks or phases within the project.
By toggling the Rollup field, we can get each of the four tasks to show up on the summary line.
Note that if I set the summary task Rollup to No, then all of the formatting goes away.
The problem now is however, how do I visually differentiate the four tasks. To do that, I will add four flag fields, one for each subtask category. We’ll call them Phases 1-4.
Then I modify the Gantt Chart bars. To access this screen, doubleclick on the Gantt Chart. Scroll down to where you see the “*Rolled Up…” entries begin. Note that the “*” before each of the titles tells Microsoft Project not to include that specific label in the project legend when the project is printed. Using the *Rolled Up Task as the base, I insert four lines, and change the colors appropriately.
Going back to the Gantt Chart, this yields the following results:
At this point, I may also opt to change the formatting options for the subtasks so that they match their rolled up counterparts. I can then roll up the tasks to get the following view.
Let’s go back into the Bar Styles and modify the text labels…..
Note that I staggered the names, and put the labels on top for Phases 1 and 3, and on the bottom for Phases 2 and 4. This brings up the single trickiest issue that I have found with managing rollups, and that is trying to ensure that the text doesn’t all land on top of each other. The only solutions I have developed for this would be to use custom flag fields to control multiple bar chart styles, and thus allow me to toggle the text location – or add a callout using the Drawing options.
One more task remains – and that is to remove the summary task black bar. One handy trick when modifying the Gantt Styles is that you can mouse over the offending item to see which element in the Bar Styles Dialog is controlling the formatting:
So we have identified that the offending element is the Summary line. To remove this, I go back into the Bar Styles, and change the criteria for that bar:
And the end results look like this:
Now I point out that this view is pretty simplistic, and doesn’t come close to demonstrating the capabilities of Microsoft Project. In addition to rolling up Task bars, I can also roll up such items as baseline data, progress lines, or other key elements. This means that I can, in theory, roll up an entire view of the project to a handful of lines.