Forum Discussion
Using a calculated duration in visuals - is this now possible?
So I had a total seconds measure, that using dax I put into a duration of days:hours:minutes:seconds, but I can not use that in any visuals. I know years ago when I tried doing things like this there was no way to use measures in visuals but from what I can tell that has recently changed.
Is there a way to convert total seconds into a days/hours/minutes/seconds format that you are able to use in visuals?
Thanks
- Anonymous2 years ago
Hi Anonymous
Based on your needs, I have created the following form.
You can use the following dax to get the result you want
Measure = VAR TotalSeconds = SELECTEDVALUE('Table'[seconds]) VAR Seconds = MOD(TotalSeconds, 60) VAR Minutes = MOD(INT(TotalSeconds / 60), 60) VAR Hours = MOD(INT(TotalSeconds / 3600), 24) VAR Days = INT(TotalSeconds / 86400) RETURN FORMAT(Days, "00") & " days " & FORMAT(Hours, "00") & ":" & FORMAT(Minutes, "00") & ":" & FORMAT(Seconds, "00")Best Regards,
Jayleny
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
4 Replies
- ajohnso2
Solution Supplier
I would keep the calculation as integer total seconds and explore the use of applying dynamic formatting to the new measure.
https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-dynamic-format-strings
- AnonymousNot applicable
Great idea! Exactly the kind of relatively new feature I was looking for. I got it to work with this method, but I noticed that in the axis, the scale labels are not appearing as the should. They all just appear as the max number in the visual. Are you familar with this bug, and any possible workarounds?
Thanks!
- ajohnso2
Solution Supplier
I'm logged off for the day now, if you could post a sample pbix I can take a look tomorrow
- AnonymousNot applicable
Hi Anonymous
Based on your needs, I have created the following form.
You can use the following dax to get the result you want
Measure = VAR TotalSeconds = SELECTEDVALUE('Table'[seconds]) VAR Seconds = MOD(TotalSeconds, 60) VAR Minutes = MOD(INT(TotalSeconds / 60), 60) VAR Hours = MOD(INT(TotalSeconds / 3600), 24) VAR Days = INT(TotalSeconds / 86400) RETURN FORMAT(Days, "00") & " days " & FORMAT(Hours, "00") & ":" & FORMAT(Minutes, "00") & ":" & FORMAT(Seconds, "00")Best Regards,
Jayleny
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.