How To Import WBS From Excel To Primavera P6 Using The SDK

Friday, 06 January 2012
Hits: 8662

Step 1 – Copy the WBS from to Excel

For simplification, every step of the tutorial has its own Excel worksheet in the spreadsheet (see WBS-Import-P6-Tutorial.xls in Tutorials Assets). I’ve numbered each worksheet appropriately.

For this tutorial, we’re using a sample WBS from this site. We’ve already cleaned-up and pasted it for you into the WBS-Import-P6-Tutorial.xls on Worksheet 1.

I have modified the original WBS to add a root node (SAMPLE – the first entry in the WBS list) as the project name.

Step 2 – Split the WBS Path into Distinct Levels

Copy the column WBS Code from “Worksheet 1″ to “Worksheet 2″ in Excel. We will use the Text to Columns function on the Excel Data tab (Excel 2010), it a very easy tool to split one column by delimiters into multiple columns.

Highlight the WBS Code column, and click on Text to Columns.

When the wizard screen comes up, select Delimited, and click Next.

Set the delimiter to a dot "."

Make sure to format the columns as Text (if your code is 01, Excel will keep it 01 as text, otherwise it will change to 1.

Here’s the result.

Step 3 – Organize The WBS by Level.

Copy the new split columns to “Worksheet 3″ and paste each under the appropriate L1, L2, L3, L4 or L5 heading (use the yellow L columns, not the green ones). If you have more levels, just adjust the spreadsheet to add them in.

The Level column on Worksheet 3 is not needed for this tutorial. I have just added it to show that we can determine the level of each WBS by counting how many times the separator (or the delimiter) is repeated.

The green L-columns contain some text formulas that will recombine part of the WBS Path to build parent and children fields that we’ll need for the import.

Step 4 – Organize the WBS by Parent & Child

We’re going to combine all of the green L-columns now on Worksheet 4. Start by copying the data under green-L1 and pasting it to the Parent column on Worksheet 4. Copy the green-L2 data and paste it to theChild column on Worksheet 4.

The next steps might seem unintuitive, but they are important to follow correctly. We’ll then clean things up afterwards.

Copy the data as follows:

  • Copy the green-L2 data again and this time paste it to the bottom of the data in the Parent column on Worksheet 4
  • Copy the green-L3 data and paste it to the bottom of the Child column on Worksheet 4
  • Copy the green-L3 data again and this paste it to the bottom of the Parent column
  • Copy the green-L4 data and paste it to the bottom of the Child column
  • Copy the green-L4 data again and this paste it to the bottom of the Parent column
  • Copy the green-L5 data and paste it to the bottom of the Child column

Essentially the column data should be combined like this:

Parent col Child col
L1 data L2 data
L2 data L3 data
L3 data L4 data
L4 data L5 data

Actually that’s the most important step in this tutorial, in order for the SDK (a relational database) to understand the structure of the WBS; this one must be presented as Parent and children table.

Step 5 – Remove Duplicates

Copy the columns Parent and Child from Worksheet 4, and paste them to Worksheet 5.

Highlight both columns. On the Excel Data tab, click Remove Duplicates to clean up any duplicate entries we’ve created.

Next, select ok

In the column “check the same relation”, I put a formula to check if there is the same item in parent and child. Click the column Filter and select only “No”. This will filter out any other entries we don’t need for the import.

Step 6 – Separating Child and Parent WBS Items

With the column filter still set to “No” highlight the Parent and Child columns, copy and paste them to Worksheet 6 as follows:

  • Copy the Parent column and paste under Parent WBS ID
  • Copy the Child column and paste under WBS ID CHILD

The WBS Code column is automatically generated by removing from the WBS ID CHILD code the equivalent Parent WBS ID.

Now our WBS is ready to be imported to Primavera P6.

Step 7 – Open Primavera P6

In Admin -> Admin Preferences, check the maximum WBS Code length that Primavera P6 can accept. The default of 20 will work for this tutorial, however, you may want to increase this value to 30 or 40 characters for future imports.

You’ll want to have an empty project already setup in P6 that we will import to. If you don’t have one, login to Primavera and create an empty project now, then come back to this step.

By default, the first level of the WBS is the name of the project.

In this case change the name of the project to SAMPLE, once you finish importing you can modify the name.

Step 8 – Open The P6 SDK WBS.xls

As usual input the password, and click on Update Project List.

Select the empty project you created. **Make sure you select the right project.

Click on “Get WBS”.

As expected, only the WBS root node is imported into the spreadsheet.

Copy and paste from the Excel file the columns Parent WBS ID, WBS Code and the WBS Name

Don’t overwrite the root node that is already there.

Click “Set WBS”.

It will take some time to process the data (the SDK is famous for very being slow).

Step 9 – Enjoy

Wrap Up

We explained how to import a WBS dictionary to Primavera P6 using Excel and the P6 SDK. Here are some examples as to why it is very useful for planners:

  1. It is very easy to import a standard WBS into your schedule (perhaps your company Cost breakdown Structure).
  2. If your schedule is using activities codes, you can easily generate WBS in Excel and imported back to P6.
  3. You can design a first cut of your WBS outside Primavera, using many freely available WBS utilities. Once it is approved, it can easily be imported to Primavera. We suggest you try WBStool, a mind mapping WBS tool. All WBS or mind mapping tool can export the WBS path to Excel, which means this file can be used as an integration tool to Primavera.

Things for you to try:

  • If you want to understand the logic behind all this data processing, google “hierarchical database model”.
  • Using CTE recursive query in any Database you can generate the WBS Parent and WBS child in one operation. But if you are just a planner, SQL might be black magic for you (as it is for me). The approach discussed in this Tutorial will do the trick, and will you save a lot of time doing what all planners hate the most – manual typing.

Trending #Tags

Search Blogs

Archived Posts