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.
Syntax
Parameter | Attributes | Description |
---|---|---|
Value |
Any value or expression. |
|
ValueIfError |
Any value or expression. |
Return values
A scalar of the same type as Value
Remarks
The IFERROR function is a faster implementation of a semantically equivalent IF / ISERROR pattern.
IFERROR ( A, B ) -- 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.
Examples
-- IFERROR detects if the first argument produces an error. -- In that case, it returns the second argument, without -- erroring out. DEFINE MEASURE Sales[Year Value unprotected] = VAR CurrentYear = SELECTEDVALUE ( 'Date'[Calendar Year] ) RETURN VALUE ( CurrentYear ) MEASURE Sales[Year Value] = VAR CurrentYear = SELECTEDVALUE ( 'Date'[Calendar Year] ) RETURN IFERROR ( INT ( VALUE ( CurrentYear ) ), INT ( VALUE ( RIGHT ( CurrentYear, 4 ) ) ) ) EVALUATE SUMMARIZECOLUMNS ( '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 functions
Other related functions are:
Last update: Nov 28, 2023 » Contribute » Show contributors
Contributors: Alberto Ferrari, Marco Russo, Kenneth Barber
Microsoft documentation: https://docs.microsoft.com/en-us/dax/iferror-function-dax