March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
I have an opportunity header table, that stores the latest stage, and I will ultimately want to analyze opportunity cycle time (duration per stage) by owner, territory.
OpportunityId | StageName | Owner | Territory |
1 | 4 .Closed Won | 10 | T1 |
2 | 3 .Negotiation | 11 | T2 |
3 | 2 .Diligence | 12 | T1 |
I also have a opportunity history table, that has the timestamp for each stage:
OpportunityId | CreatedDate | Stage Name | Stage # |
1 | 2/26/2020 | 1 .Targeting | 1 |
1 | 2/27/2020 | 2 .Diligence | 2 |
1 | 2/28/2020 | 3 .Negotiation | 3 |
1 | 2/29/2020 | 3 .Negotiation | 3 |
1 | 3/20/2020 | 4 .Closed Won | 4 |
1 | 3/23/2020 | 4 .Closed Won | 4 |
1 | 3/31/2020 | 5 .Grow / Sustain | 5 |
2 | 4/3/2020 | 1 .Targeting | 1 |
2 | 4/5/2020 | 2 .Diligence | 2 |
2 | 4/10/2020 | 3 .Negotiation | 3 |
3 | 1/5/2020 | 1 .Targeting | 1 |
3 | 1/15/2020 | 2 .Diligence | 2 |
How do I go about calculating the average stage duration, which later I want the flexilble to slice by owner, territory?
Thank you so much!
NM
Solved! Go to Solution.
@nanma94 try measure below and here is the result.
Days between Stages =
VAR __oppyId = SELECTEDVALUE ( Oppy[OpportunityId] )
VAR __Stage = MAX ( 'Oppy Detail'[Stage #] )
VAR __StageDate = MAX ( 'Oppy Detail'[CreatedDate] )
VAR __prevStage = MAX ( __Stage - 1, 1 )
VAR __prevStageDate =
CALCULATE (
MAX ( 'Oppy Detail'[CreatedDate] ),
ALL ( 'Oppy Detail' ),
Oppy[OpportunityId] = __OppyId,
'Oppy Detail'[Stage #] = __prevStage
)
RETURN DATEDIFF( __prevStageDate, __StageDate, DAY )
Would appreciate Kudos 🙂 if my solution helped.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
@Cortana I'm also confused what you are referring too, if you can provide more details how you get to 11 days, it would help.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Look at the created date of stage 4. The opportunity entered stage 4 on 20th March and It entered stage 5 on 31st March. So this opportunity stays 11 days in stage 4, right?
Hi,
Please show the exact result that you are expecting in a simple table.
@nanma94 which date to pick when oppy has same stage twice, like in your example, oppy #1 has two closed won stages on different dates
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
@parry2k Thank you for looking into this. Yes, It is a data quality issue (I wanted to highlight but forgot to mention) , which I am thinking I will pick the min of earlier stage and max of later stage to get the duration.
I am going to come back report after I try your solution out. Thank you so much in advance.
@nanma94 try measure below and here is the result.
Days between Stages =
VAR __oppyId = SELECTEDVALUE ( Oppy[OpportunityId] )
VAR __Stage = MAX ( 'Oppy Detail'[Stage #] )
VAR __StageDate = MAX ( 'Oppy Detail'[CreatedDate] )
VAR __prevStage = MAX ( __Stage - 1, 1 )
VAR __prevStageDate =
CALCULATE (
MAX ( 'Oppy Detail'[CreatedDate] ),
ALL ( 'Oppy Detail' ),
Oppy[OpportunityId] = __OppyId,
'Oppy Detail'[Stage #] = __prevStage
)
RETURN DATEDIFF( __prevStageDate, __StageDate, DAY )
Would appreciate Kudos 🙂 if my solution helped.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
Hello @parry2k .
If I get it correctly, you are calculating stage duration, right? I mean the total time it takes in each stage.
If so, then for the first opportunity the total days for staying in stage 4 would be 11 days. But it's not showing that. I am confused. Can you help to understand that?
I've had a calculated column that works to average by stage. But this measure provides more flexibility. Thank you so much!
@nanma94 Glad I could help.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
134 | |
91 | |
90 | |
64 | |
58 |
User | Count |
---|---|
201 | |
137 | |
107 | |
72 | |
68 |