MROUND DAX Function (Math and Trig)

Returns a number rounded to the desired multiple.

Syntax

MROUND ( <Number>, <Multiple> )
Parameter Attributes Description
Number

The value to round.

Multiple

The multiple to which you want to round the number.

Return values

Scalar A single decimal value.

Rounded number.

Remarks

MROUND rounds up, away from zero, if the remainder of dividing Number by the specified Multiple is greater than or equal to half the value of Multiple. However, when a decimal value is provided to the Multiple argument , the rounding direction is undefined for midpoint numbers. For example, MROUND ( 6.05, 0.1 ) returns 6.0 while MROUND ( 7.05, 0.1 ) returns 7.1.

The Number and Multiple arguments must have the same sign (+/-).

» 2 related articles
» 7 related functions

Examples

Use MROUND ( number, SIGN ( number ) * multiple ) if the the sign of the number is not known in advance:

DifferenceYOY RoundedToThousands := 
VAR Difference = [DifferenceYOY] 
VAR Multiple = 1000 
RETURN 
    MROUND ( Difference, SIGN ( Difference ) * multiple ) 
--  Rounding functions, using multiples of the second argument
--
--  FLOOR returns the smaller multiple
--  MROUND returns the nearer multiple (does not work with negative values)
--  CEILING returns the larger multiple
--  ISO.CEILING is like CEILING, handles differently negative numbers
DEFINE VAR Vals = GENERATESERIES ( 5, 20, 2 )
EVALUATE    
    ADDCOLUMNS (
        Vals,
        "FLOOR",        FLOOR       ( [Value], 3 ),
        "MROUND",       MROUND      ( [Value], 3 ),
        "CEILING",      CEILING     ( [Value], 3 ),
        "ISO.CEILING",  ISO.CEILING ( [Value], 3 )   
    )
Value FLOOR MROUND CEILING ISO.CEILING
5 3 6 6 6
7 6 6 9 9
9 9 9 9 9
11 9 12 12 12
13 12 12 15 15
15 15 15 15 15
17 15 18 18 18
19 18 18 21 21

Related articles

Learn more about MROUND in the following articles:

Related functions

Other related functions are:

Last update: Dec 12, 2024   » Contribute   » Show contributors

Contributors: Alberto Ferrari, Marco Russo, Jes Hansen

Microsoft documentation: https://docs.microsoft.com/en-us/dax/mround-function-dax

2018-2024 © SQLBI. All rights are reserved. Information coming from Microsoft documentation is property of Microsoft Corp. » Contact us   » Privacy Policy & Cookies

Context Transition

This function performs a Context Transition if called in a Row Context. Click to read more.

Row Context

This expression is executed in a Row Context. Click to read more.

Iterator

Not recommended

The use of this function is not recommended. See Remarks and Related functions for alternatives.

Not recommended

The use of this parameter is not recommended.

Deprecated

This function is deprecated. Jump to the Alternatives section to see the function to use.

Volatile

A volatile function may return a different result every time you call it, even if you provide the same arguments. Click to read more.

Deprecated

This parameter is deprecated and its use is not recommended.

DirectQuery compatibility

Limitations are placed on DAX expressions allowed in measures and calculated columns.
The state below shows the DirectQuery compatibility of the DAX function.

Contribute

Want to improve the content of MROUND? Did you find any issue?
Please, report it us! All submissions will be evaluated for possible updates of the content.


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.