Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hi,
Kindly advice with actual Dax formulae to calculate the time difference.
If you're able to provide a sample of DAX based on below dammy data will be great.
The data will be presented in tabular form and also in visualization where Total Duration (HH: MM) will be grouped by ID and Month. Much appreciated in advance.
ID | Start Time | End Time | Expected Result in HH: MM |
A | 01:30:00 | 02:00:30 | 00:30:00 HH: MM |
B | 11:00:00 | 03:30:00 | 04:30:00 HH:MM |
Expected Answer A on the table
Total Time: For A=00:30:00HH:MM
Total Time: For B=04:30:00HH:MM
Expected Answer B on the table
Total Time for all IDs =(Total Time: For A=00:30:00HH:MM)+(Total Time: For B=04:30:00HH:MM)=05:00HH:MM
Solved! Go to Solution.
@MYDATASTORY, try this measure:
Time Diff =
SUMX ( TestData, TestData[End Time] - TestData[Start Time] )
Proud to be a Super User!
So that works, but then the time won't sum in a table or matrix. How to fix this? Please and thank you.
Try this measure. It's based on a measure in the link below.
https://community.powerbi.com/t5/Community-Blog/Aggregating-Duration-Time/ba-p/22486
Time Diff =
// Given a number of seconds, returns a format of "hh:mm"
VAR vDuration =
SUMX ( TimeTracker, DATEDIFF ( TimeTracker[Start_Time], TimeTracker[End_Time], SECOND ) )
// There are 3,600 seconds in an hour
VAR vHours =
INT ( vDuration / 3600 )
// There are 60 seconds in a minute
VAR vMinutes =
INT ( MOD ( vDuration - ( vHours * 3600 ), 3600 ) / 60 )
// These intermediate variables ensure that we have leading zeros concatenated onto single digits
// Hours with leading zeros
VAR vHoursFormatted =
IF ( LEN ( vHours ) = 1, "0" & vHours, "" & vHours )
// Minutes with leading zeros
VAR vMinutesFormatted =
IF ( LEN ( vMinutes ) = 1, "0" & vMinutes, "" & vMinutes )
// Now return hours and minutes with leading zeros in the proper format "hh:mm"
VAR vResult =
vHoursFormatted & ":" & vMinutesFormatted
RETURN
IF ( vResult = ":", BLANK(), vResult )
Proud to be a Super User!
Thank you v v much. It works. It works well. It works really well! IT WORKS!!! 🤣
Please accept my apologies for the delay in responding. PowerApps design is not my full-time work. But this project is something that I have to make work for me to continue.
@MYDATASTORY, try this measure:
Time Diff =
SUMX ( TestData, TestData[End Time] - TestData[Start Time] )
Proud to be a Super User!