Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
ValerienSegard
Frequent Visitor

Completed Work by cascade (Issue -> Epic -> Objective)

Hello everybody

 

I would like to use our Azure Devops to monitor the progress of our projects.

 

The architecture is as follows:
Objective> Epic> Issue

 

Objective can have many epics, but one epic is only linked to one objective.

Epic can have many Issues, but one issue is only linked to one Epic.

 

In our kanban, the completion of the work is done on the Issues (scale from 0 to 100).

 

I would like to be able to calculate the impact of the completion of issues on the linked Epic, and therefore on the linked objective.

Knowing that we must weigh with the duration of the Issues.

Ex: Completion of an Epic =% Completion Issue (s) * Duration Issue (s) / Sum (Duration Issue (s))

 

Ex: Completion of an Objective=% Completion Issue (s) * Duration Issue (s) / Sum (Duration Issue (s))

OR Completion of an Objective=% Completion Epic(s) * Duration Issue (s) / Sum (Duration Epic(s)) ???

 

A very big thank you in advance

 

IdTitleWork TypeStart DateEnd DateCompletionParent ID
1Objective 1Objective01/01/202131/12/2021??? 
2Epic 1Epic01/01/202131/03/2021???1
3Issue 1Issue01/01/202101/02/2021752
4Issue 2Issue15/03/202131/03/2021302
1 ACCEPTED SOLUTION
dedelman_clng
Community Champion
Community Champion

Hi @ValerienSegard  - 

 

First thing to do is see if you can change your data model (inside PBI) to have Objective, Epic and Issue in 3 separate tables with 1-to-many relationships (1 Objective to Many Epic, 1 Epic to Many Issue). If you can do that, it will make things much easier.

 

2021-02-11 10_46_10-scratch4 - Power BI Desktop.png

 

2021-02-11 10_45_46-scratch4 - Power BI Desktop.png

Once you do that, create a column on Issue for the IssueDuration

 

IssueDuration = DATEDIFF(Issues[Start Date], Issues[End Date], DAY)

 

Then a measure for the rolled up Completion %

 

Completion Pct =
DIVIDE (
    SUMX ( Issues, Issues[IssueDuration] * ( Issues[Completion] / 100 ) ),
    SUM ( Issues[IssueDuration] ),
    0
)

 

2021-02-11 10_45_20-scratch4 - Power BI Desktop.png

Hope this helps

David

 

View solution in original post

2 REPLIES 2
ValerienSegard
Frequent Visitor

That's exactly what i did this afternoon before i saw your answer 🙂 AND IT WORKS

 

Thank you !

dedelman_clng
Community Champion
Community Champion

Hi @ValerienSegard  - 

 

First thing to do is see if you can change your data model (inside PBI) to have Objective, Epic and Issue in 3 separate tables with 1-to-many relationships (1 Objective to Many Epic, 1 Epic to Many Issue). If you can do that, it will make things much easier.

 

2021-02-11 10_46_10-scratch4 - Power BI Desktop.png

 

2021-02-11 10_45_46-scratch4 - Power BI Desktop.png

Once you do that, create a column on Issue for the IssueDuration

 

IssueDuration = DATEDIFF(Issues[Start Date], Issues[End Date], DAY)

 

Then a measure for the rolled up Completion %

 

Completion Pct =
DIVIDE (
    SUMX ( Issues, Issues[IssueDuration] * ( Issues[Completion] / 100 ) ),
    SUM ( Issues[IssueDuration] ),
    0
)

 

2021-02-11 10_45_20-scratch4 - Power BI Desktop.png

Hope this helps

David

 

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors