Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi there,
I am trying to calculate the total shift duration worked by employees by using Datediff between Login & Logout. Since there could be more than just 1 login/logout in a day due to interruption, I am using the following measure:
Shift Duration = VAR MinimumShift = MIN(Data[Login])
VAR MaximumShift = MAX(Data[Logout])
VAR DifferenceSeconds = CALCULATE(DATEDIFF(MinimumShift, MaximumShift, SECOND))
VAR Hours = INT(DifferenceSeconds/3600)
VAR Minutes = INT(MOD(DifferenceSeconds-(Hours*3600),3600)/60)
VAR Seconds = ROUNDUP(MOD(MOD(DifferenceSeconds-(Hours*3600),3600),60),0)
RETURN
Hours*10000+Minutes*100+Seconds
The purpose for this measure is to calculate the difference between login & logout taking into consideration multiple rows for the same employee and same date, and also to return the result in HH;MM;SS after formatting it.
This is working just fine on row level of a table/matrix, but it is not calculating properly on column/row totals.
Can you please advise? Thank you
Solved! Go to Solution.
@mo1988 You need to provide the same context to the measure as you've provided with the table visual.
https://dax.guide/functions/table-manipulation/ should help you do this.
Try something like:
Shift Duration Final =
SUMX ( SUMMARIZE ( Data, Data[EmployeeID], Data[DateKey] ) , [Shift Duration] )
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
@mo1988 You need to provide the same context to the measure as you've provided with the table visual.
https://dax.guide/functions/table-manipulation/ should help you do this.
Try something like:
Shift Duration Final =
SUMX ( SUMMARIZE ( Data, Data[EmployeeID], Data[DateKey] ) , [Shift Duration] )
Copying DAX from this post? Click here for a hack to quickly replace it with your own table names
Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C
I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
72 | |
72 | |
38 | |
31 | |
26 |
User | Count |
---|---|
97 | |
86 | |
43 | |
40 | |
35 |