
Tutorial Info
- Program: Oracle Primavera P6 Professional
- Version: any
- Difficulty: Intermediate
- Time to Complete: 15 minutes
It’s not easy to find Relationship Lag in Primavera P6 project schedules. There aren’t really any features to highlight lag. But understanding how leads or lags are used on your project is an important part of really knowing your schedule. We need a process to root out any relationship lags in P6.
What’s wrong with using Relationship Lag in my schedule?
The use of Relationship lag is widely discussed on Scheduling and Project Controls discussion boards. The concensus and best practice is that the use of relationship lag should be minimal if it’s used at all. Why?
According to the Practice Standard for Scheduling, a document prepared by scheduling experts at the Project Management Institute, using Relationship leads or lags add significant schedule risk to a project. The main reason is the lack of visibility of lag delays on project schedules. Lag time is hard to identify and document – it isn’t obvious when looking at the Gantt Chart or when analyzing a schedule’s dates. When lag time is used on a schedule, it is very rarely documented why the delay was added, causing construction managers to scratch their heads. Time IS money, after all. As a best practice, any lag should always be documented in a Notebook topic on the activity. Or better yet, follow PMI’s standard and use full activities to represent lead/lag delays. This approach makes leads/lags very visible on a schedule and also allows for more flexibility.
It’s common for less experienced planners to submit schedules with lag. In Primavera P6, we really need to be able to find out if a schedule uses relationship lag.
Unfortunately, inside the Activity screens in P6, there seems to be no way to sort or filter activities by Lag. So we’ll need another approach, one that is easy and reusable.
Building a Reusable Relationship Lag Report in Primavera P6
It’s pretty easy to build reports in Primavera P6. And the reporting features are able to report on a project’s relationships. Using Filters, we can create a nice report that shows only Activities that have relationships with leads or lags. Here’s how:
Step 1 – Create a New Report

Navigate over to the Primavera P6 Reports screen. Click the Add button on the Command Bar to add a new report to your database.
Step 2 – Choosing the Report Subject

When the Report Wizard comes up, click Next to create a new Report. On the following screen, select the “Activity Relationships” subject area and click next.
Step 3 – Choose Columns


Select the columns as shown. Click OK.
**NOTE: I’ve discovered that both the “Predecessor ID” and “Successor ID” columns will always be renamed by Primavera to “Activity ID”. If you click OK after selecting columns and go back to the column choosing screen, these two columns are renamed to “ID”. I can’t change them either….c’est la vie!
Step 4 – Turn Off Group and Sort

Click the Group and Sort button and set it to <none> or leave the Group By field blank. Click OK.
Step 5 – Setting a Custom Filter for Lag

Click the “Filter…” button. In the Parameter dropdown, find and select “Lag”. Set the conditional dropdown to “is not equal to” and type ’0′ in the Value column. This combination will filter for both leads (ie: negative lags) and lags. Click OK to save your Filer.
Step 6 – Saving the Primavera P6 Lag Report

Click Next. On the following screen, name your report “Relationship Lag Report“. Click Next. Before you click Run Report, click Next again and Save your report. Click Finish to close the Wizard.
It’s ideal to Save your report first before running it. It may not run if you do not have a project open first.
Step 7 – Open a Project and Run the Primavera P6 Lag Report

Open a Project and then run your report. You should see some output similar to the above.
Wrap-up
Having this report pre-built will help you be prepared anytime you need to run some analysis on a schedule, perhaps even a schedule a contractor has submitted. So keep it in your arsenal of analysis tools.
It’s worth mentioning that another approach that works is to export your project data to Excel, including the relationships table. You can then use the filtering tools in Excel to zone in on relationships that have lead or lag delays. I prefer to avoid Excel in this case because the export takes too many clicks to produce the proper dataset. This report can be run with 3-4 mouse clicks max with the same end result.
Now remember to follow the best practice mentioned in the intro. Avoid using lag or lead altogether in your schedules. Instead you should use a well-defined activity to represent any lag or lead delay in your project plan. Everyone will be much happier for it!












17 Responses
Mark,
I appreciate your tutorial!
You mentioned the “Relationship Table”. Where is this found in P6?
Thanks!
Gary
Hi Gary,
The relationships table is inside the database and tracks what activities are linked, but this table isn’t accessible directly through a P6 screen. That’s why it is difficult to find lag, because we can’t simply pull up a nice relationships table and find it. The report we build in this tutorial can access the relationships table in the database and put that info into report-format.
Hope that helps! Thanks for the feedback!
Michael
The same you can do using Export to Excel Datasheet. After export you can play with data as you want (sorting filtering etc.)
Sergei,
Thanks for pointing this out. Exporting to Excel would be another method of approach on this. You can export all relationships, then filter for lag as well. I highlighted the P6 report method mainly because it is a bit simpler, involves less clicking and stays within P6.
Regards,
Michael
I use the following method to find hidden or unwanted lag.
1: open the project
2: go to activity view
3: add the “lag” column
4: change group and sort to “none”
5: click on the lag column to sort lag into ascending or descending order to group all of the lag together so you can easily find the hidden or unwanted lag next to your activity
Ann,
I can’t find the lag column in my install. What version of P6 are you using?
Michael
Hi Ann,
there is no such a column called LAG
How can we find non-overlapping lags? is there any easy way without using Analyzer programs?
Eren,
Good question! I suggest you build this report. Customize the Filter to look for (lag not equal to 0d) AND where (lag is greater than original duration).
Warmest regards,
Michael
Thank you for your response,
But in the filter menu , i can’t add a filter like you said. There is no original duration or any duration selection.
Best regards,
Eren
Eren, you are right – that doesn’t work.
You can customize this report somewhat to add the Original Duration column to the report. After that, P6 is going to have some limitations as the filtering won’t be able to find overlapping lag. On the Run Report dialogue for the report, there is an option for Ascii text file – this will generate the report data in a .csv file which can be imported to Excel. Then you can do your analysis in Excel with Excel’s more advanced filtering abilities.
Sorry it isn’t an easier process. Please try this solution and let us know how it turns out.
M
Really superb Micheal.Really works well to control the window of a project so simply.need more like this how can i find.
Warm-full regards,
Prabu
This was a very helpful tutorial. I’ve been trying to solve the mystery Lag problem for a while now. Until I stumbled upon this article, my plan was to rewrite our scheduling specification so that Lags were not allowed at all.
Thank you,
John
Thank you John,
Many owner companies will not accept schedules with lags. It’s a growing trend that is based on the fact that lags have little visibility and appear as unproductive time. You might still consider it.
Excellent tutorial Michael. May I also suggest that if users have a need to interegate P6, then the AcumenFuse tool is very fast at producing many metrics that can guide you on the “health” of a schedule.
All you have to do is Import an XER file into AcumenFuse, and within 30 seconds you can have a full analysis carried out showing lags/leads/float/open ends etc.
Have fun!
Nice job sir. Anyway, how can we save lag report like Layout so we can use them to another desktop/laptop?
Hi Warren, sorry for the slow reply.
If you save the report, it should be available for all users of that P6 database. Alternatively, if you right-click any report, you can export it for import to another database.
Hope that helps,
Michael