Reputation: 2283
In Power Bi, I have a table that contains Name
and TimeSpent
by user in seconds.
I want to convert total seconds spent by all users into duration format (hh:mm)
When I am getting seconds in hh:mm format for each user from database query, the values are coming up like these 12:63
etc. After importing these values into power bi, I tried to set its datatype to DateTime
format but power bi shows an error saying that it is not a valid value. If I set the datatype of the column as string
then strings dont add up.
What can be the ideal way to do it?
Upvotes: 6
Views: 37294
Reputation: 91
you can solve this in one line:
measure = FORMAT(TIME(0, 0, tableNAME[your_column]), "HH:mm:ss")
Upvotes: 9
Reputation: 1
ROUNDDOWN(TableName[ColumnName]/3600,0)&":"&ROUNDDOWN(TableName[ColumnName]/60,0)-ROUNDDOWN(TableName[ColumnName]/3600,0)*60&":"&TableName[ColumnName]-ROUNDDOWN(TableName[ColumnName]/3600,0)*3600-(ROUNDDOWN(TableName[ColumnName]/60,0)-ROUNDDOWN(TableName[ColumnName]/3600,0)*60)*60
Upvotes: 0
Reputation: 9
I have solved a template for this:
This will enable to convert seconds into D:HH:MM:SS
format
D:HH:MM:SS =
VAR D = int([AVG CBT]/86400)
VAR A_D = [AVG CBT]- D * 86400
VAR HH = RIGHT(0 & INT(A_D/3600),2)
VAR A_HH = A_D - HH * 3600
VAR MM = RIGHT(0 & INT(A_HH/60),2)
VAR A_MM = A_HH - MM*60
VAR SS = RIGHT(0 & INT(A_MM),2)
RETURN
D & ":" & HH & ":" & MM & ":" & SS
I think it will resolve most needs.
Kishan.
Upvotes: -1
Reputation: 80
I wanted a Power BI Measure wich is easy to read for this problem, code below if it's of use.
HH:MM =
VAR TotalDuration = SUM(tableNAME[your_column] ) //if you use a measure just leave the SUM part out
VAR TotalHours = TRUNC (TotalDuration/3600)
VAR Min_ = FORMAT(TRUNC(TotalDuration - TotalHours * 3600),"00")
RETURN
TotalHours & ":" & Min_
The solution is adopted from the top answer of this question PowerBi Duration calculation in hh:mm:ss
Upvotes: 0
Reputation: 871
DAX code:
= TIME(0,0,SUM('Table'[Timespent]))
Then click the modelling tab and choose Format - Date Time and choose the appropriate format.
Upvotes: 2
Reputation: 98
That's a better formula, which I'm using in PBI:
HHMMSS = FORMAT(TIME(int(Table[TimeSpent] / 3600); int(mod(Table[TimeSpent]; 3600) / 60);int(mod(mod(Table[TimeSpent]; 3600); 60))); "HH:mm:ss")
Upvotes: 0
Reputation: 11
Had a similar question but for D:HH:MM:SS, code below if it's of use.
DurTime (meas) =
VAR vDur = <<<duration in CALCULATE(SUM(seconds)) >>>
RETURN INT(vDur/86400) & ":" & //Days
RIGHT("0" & INT(MOD(vDur/3600,24)),2) & ":" & //Hours
RIGHT("0" & INT(MOD(vDur/60,60)),2) & ":" & //Minutes
RIGHT("0" & INT(MOD(vDur,60)),2) //Seconds
Upvotes: 1