Comparing Schedules in P6


One of the most important features of scheduling is to have the ability to compare two schedules together. Whether it be this month's update to last month's update, this month's update to the Baseline, or comparing a delayed schedule to the pre-impacted schedule, it's critical to have the ability to compare files.

The process is commonly referred to as assigning a Baseline to a schedule or, "Baselining". From this point forward in the article, when I refer to assigning a Baseline, it means bringing in another schedule to my current schedule for comparison purposes. It's not referring to the "Baseline Schedule" or, the first approved schedule on the project.

So, how do we assign a Baseline in P6? Let's walk through it together.


Let's first look at the overall process for comparing two files. This is just extra knowledge - if you want to skip this, jump down to "Instructions". The way that P6 organizes your schedules is by Enterprise Project Structure (EPS) and then by projects underneath.

P6 has a two-step process for comparing schedule files. The first is called "Maintaining Baselines" and the second is called "Assigning Baselines". Each schedule file has four "slots" for assigning a baseline. This allows us to compare multiple schedule files at the same time. Those four slots include one "Project Baseline" and three "User Baselines". Ignore the "Project Baseline" as this is typically used for programs who have multiple schedulers working on one server.

In order to assign a schedule to one of those four slots, we first need to pull it in as a baseline schedule using the action "Maintain Baselines". There is no limit to the amount of schedule files that we can pull in when we maintain a baseline, but just know that we are limited to comparing four schedules at any given time.

Using the image above, let's say we want to compare our "Current File" to both Update # 01 and Update # 02. P6 has the ability to pull in multiple schedule files for comparison purposes which is where we "Maintain Baselines".

Practically, if we were to add Update # 01 and Update # 02 as baselines to our Current File, they would be removed from the EPS and absorbed into the Current File. It would look like this:

Notice that our Update # 01 and Update # 02 have been removed from the EPS and are no longer visible if we were searching for them in our Projects folder. But they still exist; they've just been pulled into the "Current File". We aren't quite ready to compare the current file to the updates, we first have to Assign them as baselines to one of the four slots that are open.

You can see now that we've assigned them to the "BL1" and "BL2" slots. That's an overview of the process we'll be doing. We're now ready to compare these files by adding columns and bars.


If the above is confusing, just know that comparing schedules in P6 is a two-step process: We first have to pull the other schedule into our current file (Maintain Baselines), and we then have to assign it as a Baseline using one of the four slots (Assign Baselines).

Step 1 - Maintain Baseline

Let's say I have three schedule files: the Current File, Schedule # 01, and Schedule # 02.

First, open the "Current File" (or whichever file you want to compare from). Once the file is opened, go to Project > Maintain Baselines at the top of the screen.

Click "Add"

Select "Convert Another Project to a New Baseline of the Current Project" and click "Ok".

Select the project that you want to add as a baseline and click "Add". In this case, I want to add "Schedule # 01" as a baseline. 

You can see that Schedule # 01 has now been added as a baseline under "Maintain Baselines". Go ahead and close out of this window when you've added the desired baselines.

Step 2 - Assign Baseline

Now that the baseline has been added, we now need to assign it to one of the four slots that we talked about. Go to Project > Assign Baseline at the top of the screen.

The "Assign Baselines" window appears which shows the different slots that we had discussed. Ignore the first slot as that only shows the current file that you have open.

Let's assign "Schedule # 01" as a User Baseline using the first slot under "User Baselines" and click "OK". 

Schedule # 01 has now been assigned as a baseline to the "Current File" and is ready for comparison.

Step 3 - Running Comparisons:

There are numerous comparisons that you can run but I'll show you a few to get you started. Our schedule file only has one activity and looks like this:

Right now, the Gantt chart is only showing the activities in the Current File as a green bar. But let's say I want to also show the Schedule # 01 activities as yellow bars.

Go to View > Bars at the top of the page:

Notice that the options for the bars show Project Baseline, Primary Baseline, Secondary Baseline, and Tertiary Baseline which correspond to the four slots that we previously discussed. Since I assigned Schedule # 01 in the "Primary Baseline" slot, I'll select that as the bar I want to show. I won't go over it in this lesson, but you can format the bars (colors and sizes) here if desired.

Once you've checked the display box for the baseline bar that you want, click "Ok". You'll now notice that the yellow bar appears directly underneath the green bar. The yellow bar signifies the same "A1000" activity as it is shown in the "Schedule # 01" file.

Notice though how the yellow bar is shorter than the green bar. Let's add a column to display the finish date from the "Schedule # 01" file. Go to View > Columns at the top of the page.

Search for "BL1 Finish" under the "Dates" section and move it over to the Selected Options. Notice though how there are different column options for BL Project, BL1, BL2, and BL3. These align with the empty slots that we had discussed earlier. Since I assigned the Schedule # 01 file under the "User - Primary Baseline", that is the "BL1" slot. Just make sure that whichever column you are bringing over aligns with the slot that you assigned the baseline file to.

Now that we've added the BL1 Finish as a new column. Click "OK" to close out the window. You'll notice that a new column for "BL1 Finish" was added showing the finish date of A1000 from the Schedule # 01 file.


In summary, comparing files in P6 is a two-step process: we first have to pull the other schedule into our current file (Maintain Baselines), and we then have to assign it as a Baseline using one of the four slots (Assign Baselines). From there, we have many different options for comparisons. Here are some columns that are most often used when comparing schedule files. Just keep in mind that you need to make sure you're using the proper BL Project, BL1, BL2, or BL3 slots.

  • Start date
  • Finish date
  • Original Duration
  • Remaining Duration
  • Variance - Finish
  • Variance - Start
  • Variance - Duration
  • Costs (Budgeted, Actual, Remaining)
  • % Completes

Happy Scheduling! Leave a comment below if you have any questions.

Gregory Demetrulias
Mar 20th, 2019
Very nicely explained Pat. I also use this approach to do trending analysis with the use of multiple monthly updates. I then level the resources by trade to see how the timeline reacts if the manpower does not get any better. This is a very compelling approach to challenge the GC and or Sub to pick up the pace.
Patrick Mullen
Mar 20th, 2019
I would love to see an article on this! I haven't done trending in that way before.