
How to create an S-Curve in Power BI
A. Introduction
An S-curve is one of the most effective visuals for monitoring project performance over time. In project management, it displays the cumulative progress of key metrics—such as cost or man-hours—against the project timeline. By knowing planned values, you can quickly see whether the project is front-loaded, Backloaded, or leveled.
In this article, we will walk through the entire process of creating an S-curve in Power BI using data exported from Primavera P6. You will learn how to extract data from Primavera, clean and organize it, connect it to Power BI, build the necessary measures with DAX, and finally visualize the S-curve.
B. Export Data from P6
Exporting Data from Primavera
1. Open Primavera P6
Ready to take your skills to the next level? 🚀 Check out our Special Online Courses! 🚀
Gain valuable insights, boost your career, and learn from industry experts.
- Go to the Resource Assignments
- Adjust Timescale
- Copy the selected data
5. Open a Spreadsheet to paste the Data
6. Delete all the unwanted Columns
C. Link the Data to Power BI
- Open Power BI and Import Data from Excel
- Select Worksheet: Choose the worksheet containing your data and check sheet 1 then click on Transform data
3. Choose to make the First Row as a header
This is the table after making the First Row as a header.
Now we need to unpivot the columns to convert them from columns to rows
4. Select all columns then Click on Unpivot
This is the Table after the Unpivot
5. Again, Use the First Row as a header
This is the final shape of the Table
6. Click on Close and Apply to start creating the S – S-Curve
D. Adding the S-Curve Visual in Power BI
- Insert a Clustered Chart:
In the Report view, click on the line and Clustered Chart in the Visualizations pane.
- Axis:
- Drag your Date field (not Date Hierarchy) to the X-axis area.
- Drag your Cost field to the Y-axis area.
Click on the small arrow at the data label and then click on Dates to change the date format to its default format.

Power Bi Monitoring and Controlling with P6
Microsoft Power BI is very easy software. However, it is magically solved the slow performance of excel for large data, added new…
- 1,194 students
- WhatsApp support group
- Certificate
- Name the Chart:
- Go to Format Visual and choose General.
- Go to To Title and Rename the Chart
- Give your chart a descriptive title like “Project S-Curve”
E. Creating the Cumulative DAX Measure
To generate an S-curve, you often need a cumulative sum of costs over time. Below is a DAX measure that calculates the cumulative for the cost column by date.
- Go to the Home Tab: Click New Measure.
- Paste the Following DAX (rename table/columns as needed):
CumulativeCost =
CALCULATE(
SUM(‘Sheet1′[Cost]),
FILTER(
ALLSELECTED(‘Sheet1′[Dates]),
‘Sheet1′[Dates] <= MAX(‘Sheet1′[Dates])
)
)
- Sheet1: The actual name of your table (as it appears in the Fields pane).
- [Cost]: The Planned cost column is named cost, keep it as is. Otherwise, update accordingly.
- [Dates]: The planned Date exported from Primavera P6
This measure adds up all cost values from the earliest date in your dataset up to the latest date in the context of the visual.
After typing the DAX formula, Click on Right
You can find the new measure column exists in the Data Field then Drag the column to the Line Y-axis
This is the S – Curve in Power BI But it looks very bad so we are going to enhance it.
From Format Visual, Goto Visual Menu, Open the Secondary Y-Axis Then click on Align Zeros in the Range and Values.
This will make two Y-Axis scales in the Curve, One for the Cost and another one for the Cumulative.
You may also need to add the data labels to the columns and Curve
F. Fine Tune the S-Curve
To Show the Data labels
From Format Visual, Goto Visual Menu, Turn the Data Labels on
What if we need to show the data labels on the Columns only or the Curve only?
We need to remove the data labels from Curve only.
From Apply settings you can see Series, choose the Cumulative Cost, and turn it off as follows:
What if we need to edit the Curve line or change the color or the type of the line?
From Format Visual, Goto Visual Menu, choose line and Choose Line Style
This line style has 4 options (Solid – Dashed – Dotted – Custom), but we prefer Solid lines
Here we changed the color of the curve line from the same menu.
You can change the Location of the Data Label as the Position it may be Inside – Outside end – Inside Center – Inside base
This is the simplest way to create S-Curve on Power BI from Primavera
Conclusion
Creating an S-curve in Power BI using data from Primavera P6 provides a powerful way to visualize project cash flow. By exporting resource assignment data from Primavera, cleaning it in Excel, and loading it into Power BI, you can leverage DAX measures to generate cumulative totals of costs or hours. Plotting these cumulative values on a line chart reveals the “S-curve,” which quickly communicates whether your project is front-loaded, Back-loaded, or leveled.
Here you can find how to create a simple Report on Power BI and a simple Procurement Plan on Power BI
If you are a POWER BI course participant, You can find all the article resources in the Course Library.
Download the Resources of this Article
How to create an S-Curve in Power BI 1.06 MB 4209 downloads
Keep growing with Planning Engineer
Learn with a clear path
From Primavera P6 basics to claims, cost control and Power BI. Start with our free courses.
Browse coursesGet help on WhatsApp
Every course comes with a private WhatsApp support group where our team answers your questions.
Join a courseFind planning jobs
25 open planning and project control jobs. Post your resume so employers can find you.
See jobsGet tips by email
Free planning tips, templates and course offers. Unsubscribe any time.
Leave A Reply
You must be logged in to post a comment.









1 Comment
Can you make S-Curve for planned vs Actual and forecast?