round(X;Y)

Returns the result of rounding the first given value to the nearest multiple of the second given value.

Syntax

round(X;Y)

Input

Argument Type Description
X any numeric type The number to round to the nearest multiple of Y
Y any numeric type The nearest multiple to round X

Return Value

Returns a numeric value corresponding to X rounded to the nearest multiple of Y.

If both X and Y are integers, the result is an integer; otherwise, the result is a decimal number.

If X and/or Y is N/A, the result is N/A.

round(X;Y) can also round time into intervals. If X and Y are in the format 'HH:MM:SS', the result is the time rounded up to the next time interval specified in Y. Y must be written as a string (single quotes).

Sample Usage

X Y round(X;Y)
149.456 0.01 149.46 (decimal)
149.456 1 149 (decimal)
149.456 0.05 149.45 (decimal)
149.456 5 150 (decimal)
7 5 5 (integer)
8 5 10 (integer)
8.0 5 10 (decimal)
NA 1 NA (integer)
1.0 NA NA (decimal)
NA NA NA (integer)

Example

In this example, the round(X;Y) function returns the value of the dewptm (X) rounded to the nearest multiple of Y, which is 1, on the pub.demo.weather.wunderground.observed_hourly table.

<base table="pub.demo.weather.wunderground.observed_hourly"/>
<colord cols="zipcode, date, tempm, dewptm"/>
<willbe name="round_dewptm" value="round(dewptm;1)"/>
 

Example

In the following example, round(X;Y) rounds the time in tme (X) into 10-minute intervals (Y is '00:10:00') in the pub.doc.retail.salesdetail table for a specific store and date. Note that Y is written as a string (single quotes) and the time format is hms24 (24-hour).

<note type="base">Applied to table: pub.doc.retail.salesdetail</note>
<base table="pub.doc.retail.salesdetail"/>
<sel value="(store=3)"/>
<sel value="(trans_date=20150112)"/>
<willbe name="interval" value="round(tme;'00:10:00')" format="type:hms24"/>
<colord cols="date, tme, xsales, interval"/> 

You can then perform a tabulation to find the total sales for each 10-minute interval.

<tabu label="Tabulation on Sales Detail" breaks="interval">
 <tcol source="xsales" fun="sum" label="Sum of`Extended`Sales"/>
</tabu>