Solved

# Round Up Calculated Field or Format Expression in Report Builder 3.0

Posted on 2014-02-06
5,695 Views
I'm attempting to use the DateDiff function to identify the number of minutes between two date time fields.  I need it round up to the next whole number.

My formula to count the number of minutes is as follows
=(DateDiff(DateInterval.Second,CDate(Fields!Time_First.Value),CDate(Fields!Time_Second.Value)))/60

The formula is working fine and resulting the correct number of minutes, but my problem is the rounding.  If the duration is 1.1 minutes, then I need it to round up to 2.  The basic rounding available in Report Builder 3.0 rounds in the traditional .01 t .49 down and .5 to .99 up.

Any suggestions would be greatly appreciated.  I'm looking for a calculated field or a format expression type of solution.
0
Question by:jaisy99
• 2
• 2
• 2
• +1

LVL 26

Expert Comment

ID: 39840207
in T-SQL you could use CEILING(x) to return the next integer, CEILING(1.1) yields 2.
I am not sure if you can use that command in Report Builder or not and do not have a test environment to test it first, sorry.
0

LVL 12

Expert Comment

ID: 39840262
I wonder if you can apply the MRound type Excell function like this description below....
I guess you'd multiply 25 and divide by 25? (ie. 5 tmes the example given or .2)

•The Round function is useful to round numbers to the nearest integer. The following expression rounds a 1.3 to 1:

= Round(1.3)

You can also write an expression to round a value to a multiple that you specify, similar to the MRound function in Excel. Multiply the value by a factor that creates an integer, round the number, and then divide by the same factor. For example, to round 1.3 to the nearest multiple of .2 (1.4), use the following expression:

= Round(1.3*5)/5

Having said that, I'd prefer to do the calcs in SQL first, then have that field pumped through into SSRS.
0

LVL 1

Author Comment

ID: 39840263
Thank you, tried ceiling, but looks like it won't take it and results in error.  Finally got it to work but it is three separate calculated fields.  It errors if I try to combine the last two calculated fields.  This will work for now.  But if anyone has an easier way, would like to use it.

Final solution that worked is:
Calculated Field 1 (see above)
Calculated Field 2 =INT (Fields!Calculated_Field_1.value)
Calculated Field 3 = Fields!Calculated_Field_2.value + .5
0

LVL 12

Expert Comment

ID: 39840344
Good on you,

I think though, doing the Ceiling in SQL is a better option.

T
0

LVL 37

Accepted Solution

ValentinoV earned 500 total points
ID: 39841183
SSRS also has a Ceiling implementation.  Here's how that would go:

``````=Ceiling(DateDiff(DateInterval.Second
, CDate(Fields!Time_First.Value)
, CDate(Fields!Time_Second.Value)) / 60)
``````
0

LVL 1

Author Closing Comment

ID: 39843744
This was exactly what I was looking for.  Thanks to all.
0

LVL 37

Expert Comment

ID: 39844023
Glad to have been of assistance, enjoy the weekend!
0

## Featured Post

Written by Valentino Vranken. Introduction: The first step of creating a SQL Server Reporting Services (SSRS) report involves setting up a connection to the data source and programming a dataset to retrieve data from that data source.  The data…
Introduction In the following article I’ll be discussing and demonstrating several different ways of how images can be put on a report. I’m using SQL Server Reporting Services 2008 R2 CTP, more precisely version 10.50.1352.12, but the methods ex…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

#### Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!