Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Hi everyone,
I'm working on building an S-curve visualization where the X-axis represents the project timeline (date from start to end), and the Y-axis represents cumulative progress from 0% to 100% based on task completion.
I’m looking to incorporate task duration into the weighting logic.
Example: A task with a 10% weight scheduled from January 1–10 should have that 10% spread across those 10 days. If two tasks run in parallel during the same period (10% and 5% weights), then a total of 15% of the overall project weight occurs over the same 10-day window.
Tables / Columns Used:
ProjectProgressDashboard → Start_Date, Finish_Date, Duration_Days
WeightsSheet → weight_percent, Weight
DateTable → Date
Question:
Is this the correct conceptual way to model weighted duration in an S-curve (i.e., distribute task weight across its calendar span), and if so תhow should this be implemented efficiently (formula/modeling approach)?
Any guidance or examples would be greatly appreciated. Thanks!
Solved! Go to Solution.
Hi @bnadir55,
The remaining issue concerns how the task weight is retrieved from the related table and how daily values are summed up. You can try the following DAX, which should help by ensuring the weight is treated as a single value per task and that the cumulative calculation is done properly.
Task Weight :=
DIVIDE ( CALCULATE ( MAX ( ActivityWeights[Weight] ) ), 100 )
-------------------------------------------------------------------------------------------------
Cumulative Progress % :=
SUMX (
FILTER ( ALL ( DateTable[Date] ), DateTable[Date] <= MAX ( DateTable[Date] ) ),
[Daily Weighted Progress]
)
Thank you.
Hi @bnadir55,Have you had a chance to review the solution we shared earlier? If the issue persists, feel free to reply so we can help further.
Thank you.
Hi @bnadir55.,
Thank you @lbendlin @Kedar_Pande, for your insights.
I reproduced the scenario using your sample data and got the expected output. Please find the screenshot and PBIX file attached for reference. Hope this helps.
Thank you.
Thx! But it seems I am dealing with another challenge where my weight is in another table: ActivityWeights , which I have connected using a relationship properly and code not recognize :
BTW I have managed to change DAX to this :
But how can we get it 100% , and why its not smooth ?
Hi @bnadir55,
Checking in to see if your issue has been resolved. let us know if you still need any assistance.
Thank you.
Hi @bnadir55,
The remaining issue concerns how the task weight is retrieved from the related table and how daily values are summed up. You can try the following DAX, which should help by ensuring the weight is treated as a single value per task and that the cumulative calculation is done properly.
Task Weight :=
DIVIDE ( CALCULATE ( MAX ( ActivityWeights[Weight] ) ), 100 )
-------------------------------------------------------------------------------------------------
Cumulative Progress % :=
SUMX (
FILTER ( ALL ( DateTable[Date] ), DateTable[Date] <= MAX ( DateTable[Date] ) ),
[Daily Weighted Progress]
)
Thank you.
ProjectTasks (Start_Date, Finish_Date, Weight)
→ Generate series from Start to Finish (1 row per task-day)
→ DailyWeight = TaskWeight / Duration_Days
S-Curve Cumulative =
SUMX(
FILTER( TaskDays, TaskDays[Date] <= MAX(DateTable[Date]) ),
TaskDays[DailyWeight]
)
Line chart:
X: DateTable[Date]
Y: [S-Curve Cumulative]
If this answer helped, please click 👍 or Accept as Solution.
-Kedar
LinkedIn: https://www.linkedin.com/in/kedar-pande
Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
Do not include sensitive information. Do not include anything that is unrelated to the issue or question.
Please show the expected outcome based on the sample data you provided.
Need help uploading data? https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 7 | |
| 5 | |
| 3 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 17 | |
| 16 | |
| 12 | |
| 5 | |
| 5 |