Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
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!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
92 | |
83 | |
71 | |
49 |
User | Count |
---|---|
143 | |
121 | |
111 | |
59 | |
57 |