Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi folks
I want to convert minutes into readable stuff for the endusers, e.g.:
I have 2.480,08 minutes
I want to format this in duration (but not in Time-Format) because the value is greater than 24 hours.
Result shoud be:
1 day 08:22:16
But without VAR - this slowdown extremly all my visualizations - isn´t it?
How to proceed?
Thanks in advance Jorg
Solved! Go to Solution.
Hi - thanks, it works. Hopefully the VAR function works quick enough also with big data!
I have modified your DAX, to display the days or not, and hour work day has only 15 hours, so I divide through 900 instead of 1440.
WE Dauer gesamt =
var Tag= INT(Lagerbeleg[WE Dauer in Min] / 900)
var Stunde= INT(MOD(Lagerbeleg[WE Dauer in Min]; 900) / 60)
var Minute= MOD(MOD(Lagerbeleg[WE Dauer in Min]; 900); 60)
var Sekunde= INT((Lagerbeleg[WE Dauer in Min] - INT(Lagerbeleg[WE Dauer in Min])) * 60)
return
IF(Tag = 0; "";
IF (Tag > 1; Tag & " Tage "; Tag & " Tag "))
& FORMAT(Stunde; "#00")
& ":"
& FORMAT(MINUTE; "#00")
&":"&
FORMAT(Sekunde; "#00")
Hi I am looking to convert 10 Days 13 hours and 16 minutes to display in total hours 253.26 hours using DAX. Could someone help please?
Hi @JWE,
You can try to use belwo formula if it works on your side:
Format =
var dayNo=INT([Minutes]/1440)
var hourNo=INT(MOD([Minutes],1440)/60)
var minuteNO=MOD(MOD([Minutes],1440),60)
var secondNo=INT(([Minutes]-INT([Minutes]))*60)
return
dayNo&" day "&FORMAT(hourNo,"#00")&":"&FORMAT(minuteNO,"#00")&":"&FORMAT(secondNo,"#00")
Regards,
Xiaoxin Sheng
Hi! I will like know how to modify this formula so it can show seconds as well
Hi @Anonymous Thanks for this post. Could you pls help me in making the same query bit customised or precise . .
e.g.
1 day 1:00:00 hours
1 day 00:55:70 Minutes
that is if hour is present show postfix as hours
If time is less then hour show postfix as Minutes
Hi @Anonymous, Could you tell me how this formula should be if I only want hours and minutes?
Id appreciate your help in advance!!!
Format =
var dayNo=INT([Minutes]/1440)
var hourNo=INT(MOD([Minutes],1440)/60)
var minuteNO=MOD(MOD([Minutes],1440),60)
var secondNo=INT(([Minutes]-INT([Minutes]))*60)
return
dayNo&" day "&FORMAT(hourNo,"#00")&":"&FORMAT(minuteNO,"#00")&":"&FORMAT(secondNo,"#00")
Hi @JWE,
The below mentioned DAX formula works for me as well. But when I tried to add two rows,
I'm not getting the desired result because the value is taking as First or Last or Count but not Sum as mentioned below.
P.S: I'm using Impala as my Datasource.
Can you please help me to get this?
Thanks,
Akhil.
Hi Akhil
sorry but I have no idea. I only work with the DAX in the measure and display the results without using further field functions. In this case I get the correct sum.
Cheers Jorg
Hi @JWE,
Thanks for your response!
Can I have the same formula work with the measure instead of creating a new column using the below DAX?
Time_Format =
var dayNo=INT([time]/1440)
var hourNo=INT(MOD([time],1440)/60)
var minuteNO=MOD(MOD([time],1440),60)
var secondNo=INT(([lingertime]-INT([time]))*60)
return
dayNo&" day "&FORMAT(hourNo,"#00")&":"&FORMAT(minuteNO,"#00")&":"&FORMAT(secondNo,"#00")
Thanks,
Akhil.
Yes, I think so, but you know measure is not the same like calculatd column.
Below measure I used:
WE Dauer gesamt =
var Tag= INT( Lagerbeleg[Hilfsmeasure WE Dauer in Min] / 900)
var Stunde= INT(MOD( Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900) / 60)
var Minuten= INT(MOD(MOD( Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900); 60))
var Sekunde= INT(( Lagerbeleg[Hilfsmeasure WE Dauer in Min]
- INT( Lagerbeleg[Hilfsmeasure WE Dauer in Min] )) * 60)
return
IF(Tag = 0; "";
IF (Tag > 1; Tag & " Tage "; Tag & " Tag "))
& FORMAT(Stunde; "#00")
& ":"
& FORMAT(Minuten; "#00")
inside this I used:
Hilfsmeasure WE Dauer in Min =
SUMX(FILTER(
Lagerbeleg;
Lagerbeleg[Startdatum] = Lagerbeleg[Endedatum]
&& Lagerbeleg[Endezeit] = Lagerbeleg[MaxEndeZeit]
&& Lagerbeleg[LagerPosNr] = 1);
Lagerbeleg[Yakar Dauer Min gesamt])
+ (SUM(Lagerbeleg[Hilfsspalte WE > 1 T Sum]))
&":"&
FORMAT(Sekunde; "#00")
Hi Jorg @JWE,
Sorry, I do not understand the below mentioned DAX. Can you please send me in plain English (US English)?
WE Dauer gesamt =
var Tag= INT( Lagerbeleg[Hilfsmeasure WE Dauer in Min] / 900)
var Stunde= INT(MOD( Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900) / 60)
var Minuten= INT(MOD(MOD( Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900); 60))
var Sekunde= INT(( Lagerbeleg[Hilfsmeasure WE Dauer in Min]
- INT( Lagerbeleg[Hilfsmeasure WE Dauer in Min] )) * 60)
return
IF(Tag = 0; "";
IF (Tag > 1; Tag & " Tage "; Tag & " Tag "))
& FORMAT(Stunde; "#00")
& ":"
& FORMAT(Minuten; "#00")
inside this I used:
Hilfsmeasure WE Dauer in Min =
SUMX(FILTER(
Lagerbeleg;
Lagerbeleg[Startdatum] = Lagerbeleg[Endedatum]
&& Lagerbeleg[Endezeit] = Lagerbeleg[MaxEndeZeit]
&& Lagerbeleg[LagerPosNr] = 1);
Lagerbeleg[Yakar Dauer Min gesamt])
+ (SUM(Lagerbeleg[Hilfsspalte WE > 1 T Sum]))
&":"&
FORMAT(Sekunde; "#00")
I'm also thinking, can we convert the below DAX to SQL?
Time_Format =
var dayNo=INT([time]/1440)
var hourNo=INT(MOD([time],1440)/60)
var minuteNO=MOD(MOD([time],1440),60)
var secondNo=INT(([lingertime]-INT([time]))*60)
return
dayNo&" day "&FORMAT(hourNo,"#00")&":"&FORMAT(minuteNO,"#00")&":"&FORMAT(secondNo,"#00")
Thanks,
Akhil.
Hello...Im Christián and I think I need something just like that...! my question is if you are able to sum that column? eg: 4 days; 8:59+2 days:3:01 geting as a result= 6days:12:00?
Hello
yes, after I calculate the sum (like above measure, or something else) - and then I used a second measure to display days and also hours.
WE Dauer (Zeit) =
IF (
[Einl Dauer Sum] > 0;
FORMAT ( INT ( [Einl Dauer Sum] / ( 1 / 24 * 15 ) ); "#00T " )
& FORMAT ( MOD ( [Einl Dauer Sum]; ( 1 / 24 * 15 ) ); "HH:MM:SS" )
)
(In this case I use 15 - because our working days are not 24h only 15h.)
Hi - thanks, it works. Hopefully the VAR function works quick enough also with big data!
I have modified your DAX, to display the days or not, and hour work day has only 15 hours, so I divide through 900 instead of 1440.
WE Dauer gesamt =
var Tag= INT(Lagerbeleg[WE Dauer in Min] / 900)
var Stunde= INT(MOD(Lagerbeleg[WE Dauer in Min]; 900) / 60)
var Minute= MOD(MOD(Lagerbeleg[WE Dauer in Min]; 900); 60)
var Sekunde= INT((Lagerbeleg[WE Dauer in Min] - INT(Lagerbeleg[WE Dauer in Min])) * 60)
return
IF(Tag = 0; "";
IF (Tag > 1; Tag & " Tage "; Tag & " Tag "))
& FORMAT(Stunde; "#00")
& ":"
& FORMAT(MINUTE; "#00")
&":"&
FORMAT(Sekunde; "#00")
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
80 | |
76 | |
60 | |
36 | |
33 |
User | Count |
---|---|
91 | |
60 | |
59 | |
49 | |
45 |