Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
Hi all,
I want to calculate the Mean time between failures for some machines (average number of days between one failure and the next one for each machine)
I have one column with all the machine numbers and one column with the notification dates.
DATEDIFF doesnt work because i am comparing data in the same column and not in different ones.
Anyone has a suggestion on how to solve this? I thought about pivoting/unpivoting but i cant seem to get it right.
I found in this forum a solution, but it applies only in cases i have two dates
Date Difference = CALCULATE(DATEDIFF(MIN(Table1[Max Date]), MAX(Table1[Max Date]), DAY), ALLEXCEPT(Table1, Table1[Name]))
Ideas?
Thank you in advance,
Alessandra
Solved! Go to Solution.
@alevandenes - I have an article on MTBF - 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
@alevandenes - I have an article on MTBF - 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
I was wondering if you had a solution also to exclude non-working hours from the calculation of Repair Hours?
Your article helped incredibly.
Kind regards,
Alessandra
Wow thank you very much!! The article is great
@alevandenes , I think You need to try like
last Actual start date = maxx(filter(Table, [Equipment] = earlier([Equipment]) && [Actual start date] <earlier([Actual start date])),[Actual start date])
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.
| User | Count |
|---|---|
| 22 | |
| 22 | |
| 18 | |
| 17 | |
| 13 |
| User | Count |
|---|---|
| 63 | |
| 50 | |
| 46 | |
| 41 | |
| 39 |