IF
Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual
Comprueba una condición, and devuelve un value cuando se TRUE
; de lo contrario, devuelve un secondvalue.
Sintaxis
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parámetros
Término | Definición |
---|---|
logical_test |
Cualquier expresión valueor que se pueda evaluar para TRUE orFALSE . |
value_if_true |
El value que se devuelve if la prueba lógica es TRUE . |
value_if_false |
(Opcional) El value que se devuelve if la prueba lógica es FALSE .
If omitido, se devuelve BLANK. |
Devolver value
Ya sea value_if_true
, value_if_false
, orBLANK
.
Observaciones
La función IF puede devolver un tipo de datos variant if
value_if_true
andvalue_if_false
son de tipos de datos diferentes, pero la función intenta devolver un solo tipo de datos if ambosvalue_if_true
andvalue_if_false
son de tipos de datos numéricos. En este último caso, la función IFconvert implícitamente los tipos de datos para dar cabida a ambos values.Por ejemplo, la fórmula
IF(<condition>, TRUE(), 0)
devuelveTRUE
or 0, pero la fórmulaIF(<condition>, 1.0, 0)
devuelve solo valueseven decimal, aunquevalue_if_false
es del tipo de datos de número entero. Para obtener más información sobre la conversión implícita de tipos de datos, consulte Tipos de datos.Para ejecutar las expresiones de rama independientemente de la expresión de condición, use IF.EAGER en su lugar.
Ejemplos
Las siguientes definiciones de columna calculadas de Product tabla usan la función IF de maneras diferentes para clasificar cada product en función de su lista price.
En el ejemplo de value_if_false
value, se devuelve BLANK.
Los ejemplos de este artículo se pueden usar con el modelo de sample Adventure Works DW 2020 Power BI Desktop. Para obtener el modelo, consulte DAXsample modelo.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
En el ejemplo de second se usa la misma prueba, pero este time incluye un value_if_false
value. Por lo tanto, la fórmula clasifica cada product como Low
orHigh
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
En el tercer ejemplo se usa la misma prueba, pero esta time anida una función IF para realizar una prueba adicional. Por lo tanto, la fórmula clasifica cada product como Low
, Medium
, orHigh
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
Propina
Cuando necesite anidar varias funciones de IF, la función SWITCH podría ser una opción mejor. Esta función proporciona una manera más elegante de escribir una expresión que devuelve más de dos posibles values.