The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
I am having problems calculating date difference for the below scenario. I want to calculate the total time spent on a particular job by a mechanic. When the mechanic start and pause we should calculate the difference between the two times, when he resumes and completes the task we should also calculate the difference between the 2nd start time and the completion time, finally we sum the 2 date differences. Time taken = (Pausedtime-Starttime)+( CompleteTime- Starttime)
On the below scenario the expected result is 10 munites
Fleet No. | DocEntry | TaskCode | Task Description | Status | Mechanic | Activity Time | Job Title | Expected Result |
T001 | 3 | SFREN24 | ENGINE OIL LEAK MINOR | Started | Mechanic 1 | 14/03/2018 17:58 | Diesel Mechanic | |
T001 | 3 | SFREN24 | ENGINE OIL LEAK MINOR | Paused | Mechanic 1 | 14/03/2018 18:03 | Diesel Mechanic | 5 min |
T001 | 3 | SFREN24 | ENGINE OIL LEAK MINOR | Started | Mechanic 1 | 15/03/2018 10:40 | Diesel Mechanic | |
T001 | 3 | SFREN24 | ENGINE OIL LEAK MINOR | Stopped | Mechanic 1 | 15/03/2018 10:45 | Diesel Mechanic | 5min |
10 min |
I am a bit of an amateur and there would be a much more sophisticated way to achieve this but this solution worked for me 🙂
Job Duration =
VAR JobStart = CALCULATE(MIN(Table1[Activity Time]), Table1[Status ] = "Started")
VAR BreakStart = CALCULATE(MIN(Table1[Activity Time]), Table1[Status ] = "Paused")
VAR BreakEnd = CALCULATE(MAX(Table1[Activity Time]), Table1[Status ] = "Started")
VAR JobEnd = CALCULATE(MAX(Table1[Activity Time]), Table1[Status ] = "Stopped")
RETURN
CALCULATE(
DATEDIFF(JobStart,JobEnd,MINUTE) - DATEDIFF(BreakStart,BreakEnd,MINUTE)
)
PS: Ignore the 'DocEntry' figure, forgot to remove the quick sum calc 😁
User | Count |
---|---|
15 | |
13 | |
8 | |
6 | |
6 |
User | Count |
---|---|
27 | |
19 | |
13 | |
9 | |
5 |