Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! Learn more
Hello Everyone,
I have a data model which contains fields such as:
Incident Title, Created on, Resolved on, Closed on whose sample list is represented below:
| Incident Title | Created on | Resolved on | Closed on |
| Application Down | Jan 1, 2025 | Jan 5, 2025 | Jan 7, 2025 |
| DB Issue | Jan 4, 2025 | Jan 5, 2025 | Jan 9, 2025 |
| API Issue | Jan 9, 2025 | Jan 10, 2025 | Jan 10,2025 |
Now, I would like to calculate the meantime between failure for this application. How could that be done?
Solved! Go to Solution.
Hi @Jeyeline - you need to determine the average time between the resolution of one incident and the creation of the next incident.
create a calculated column for difference time
Time Between Failures =
DATEDIFF(
'Incidents'[Resolved on],
CALCULATE(
MIN('Incidents'[Created on]),
FILTER(
'Incidents',
'Incidents'[Created on] > EARLIER('Incidents'[Resolved on])
)
),
DAY
)
Once you have the Time Between Failures column, create a measure to calculate the MTBF by averaging these time differences.
MTBF =
AVERAGE('Incidents'[Time Between Failures])
Few reference links:
Maintenance KPI - Calculating MTBF & MDT (Mean Time Between Failures & Mean Downtime) in Power BI
Proud to be a Super User! | |
@Jeyeline See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
The basic pattern is:
Column =
VAR __Current = [Value]
VAR __PreviousDate = MAXX(FILTER('Table','Table'[Date] < EARLIER('Table'[Date])),[Date])
VAR __Previous = MAXX(FILTER('Table',[Date]=__PreviousDate),[Value])
RETURN
( __Current - __Previous ) * 1.
@Jeyeline See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395....
The basic pattern is:
Column =
VAR __Current = [Value]
VAR __PreviousDate = MAXX(FILTER('Table','Table'[Date] < EARLIER('Table'[Date])),[Date])
VAR __Previous = MAXX(FILTER('Table',[Date]=__PreviousDate),[Value])
RETURN
( __Current - __Previous ) * 1.
Hi @Jeyeline - you need to determine the average time between the resolution of one incident and the creation of the next incident.
create a calculated column for difference time
Time Between Failures =
DATEDIFF(
'Incidents'[Resolved on],
CALCULATE(
MIN('Incidents'[Created on]),
FILTER(
'Incidents',
'Incidents'[Created on] > EARLIER('Incidents'[Resolved on])
)
),
DAY
)
Once you have the Time Between Failures column, create a measure to calculate the MTBF by averaging these time differences.
MTBF =
AVERAGE('Incidents'[Time Between Failures])
Few reference links:
Maintenance KPI - Calculating MTBF & MDT (Mean Time Between Failures & Mean Downtime) in Power BI
Proud to be a Super User! | |
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 |
|---|---|
| 65 | |
| 64 | |
| 49 | |
| 21 | |
| 18 |
| User | Count |
|---|---|
| 119 | |
| 117 | |
| 38 | |
| 36 | |
| 29 |