IFERROR DAX Function (Logical) Not recommended

Returns value_if_error if the first expression is an error and the value of the expression itself otherwise.


IFERROR ( <Value>, <ValueIfError> )
Parameter Attributes Description

Any value or expression.


Any value or expression.

Return values

Scalar A single value of any type.

A scalar of the same type as Value


The IFERROR function is a faster implementation of a semantically equivalent IF / ISERROR pattern.


-- Corresponds to

IF ( ISERROR ( A ), B, A )

IFERROR and ISERROR are not able to catch all runtime errors. Whether or not they can catch an error depends on the choice of execution plans. When the query plan chooses a faster execution (block mode), errors may not be captured. In light of their limitations, the two functions are discouraged.

Read Appropriate use of error functions for best practices about using IFERROR and ISERROR.

» 1 related article
» 3 related functions


--  IFERROR detects if the first argument produces an error.
--  In that case, it returns the second argument, without 
--  erroring out.
MEASURE Sales[Year Value unprotected] = 
    VAR CurrentYear = SELECTEDVALUE ( 'Date'[Calendar Year] )
    RETURN VALUE ( CurrentYear )
MEASURE Sales[Year Value] = 
    VAR CurrentYear = SELECTEDVALUE ( 'Date'[Calendar Year] )
        IFERROR (
            INT ( VALUE ( CurrentYear ) ),
            INT ( VALUE ( RIGHT ( CurrentYear, 4 ) ) )
        'Date'[Calendar Year], 
        // If you uncomment the following line, the query generates an error
        // "Year Value unprotected", [Year Value unprotected],
        "Year Value", [Year Value]
ORDER BY [Calendar Year]
Calendar Year Year Value
2005-01-01 2,005
2006-01-01 2,006
2007-01-01 2,007
2008-01-01 2,008
2009-01-01 2,009
2010-01-01 2,010
2011-01-01 2,011

Related articles

Learn more about IFERROR in the following articles:

  • Comparing different school terms in Power BI

    This article describes how to implement the comparison between school terms. The same technique can be applied to any arbitrary time periods that do not match regular months or quarters in a calendar, such as seasons or campaigns. » Read more

Related functions

Other related functions are:

Last update: May 23, 2024   » Contribute   » Show contributors

Contributors: Alberto Ferrari, Marco Russo, Kenneth Barber

Microsoft documentation: https://docs.microsoft.com/en-us/dax/iferror-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.


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.


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


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


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.


Want to improve the content of IFERROR? 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.