Reputation: 25
I have a Time column in which is in minute , in ssrs i need to get average and output in such a way that its in Day, Hour and min. For example Column name is Time (Min).How to write an expression in such a way that we can get result in day, hour and min
Upvotes: 0
Views: 1349
Reputation: 871
Enter the following expression:
=Format(TimeSerial(0,Parameters!MyMins.Value,0),"dd") & " Days "
& Format(TimeSerial(0,Parameters!MyMins.Value,0),"HH") & " Hours "
& Format(TimeSerial(0,Parameters!MyMins.Value,0),"mm") & " Minutes "
Alternatively, create another parameter e.g. MyTime
=TimeSerial(0,Parameters!MyMins.Value,0)
(Ensure that this parameter is evaluated after MyMins by moving it down the list) Then put that into the code above
=Format(Parameters!MyTime.Value,"dd") & " Days "
& Format(Parameters!MyTime.Value,"HH") & " Hours "
& Format(Parameters!MyTime.Value,"mm") & " Minutes "
Upvotes: 0
Reputation: 21683
Assuming that your time column is just an integer datatype containing a number of minutes then something like this will work.
The following calculates based on a report parameter to make it easier to test so oyu will need to swap this out for the correct column name and aggregations. e.g. if you time column is called MyTime and you want to calculate based on the average then swap out Parameters!MyMins.Value
with AVG(Fields!MyTime.Value)
= INT(Parameters!MyMins.Value / 1440) & " days " &
INT((Parameters!MyMins.Value MOD 1440) / 60) & " hours " &
(Parameters!MyMins.Value MOD 60) & " mins"
adjust the output to suit you formatting requirements....
The above turns 4455 minutes into the string "3 days 2 hours 15 mins"
Upvotes: 2