IF
Se aplica a:columna Calculada
tabla calculada
Medida
cálculo visual
Comprueba una condición y devuelve un valor cuando es TRUE
; de lo contrario, devuelve un segundo valor.
Sintaxis
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parámetros
Término | Definición |
---|---|
logical_test |
Cualquier valor o expresión que se pueda evaluar para TRUE o FALSE . |
value_if_true |
Valor devuelto si la prueba lógica es TRUE . |
value_if_false |
(Opcional) Valor devuelto si la prueba lógica es FALSE . Si se omite, se devuelve BLANK. |
Valor devuelto
value_if_true
, value_if_false
o BLANK
.
Observaciones
La función IF puede devolver un tipo de datos variant si
value_if_true
yvalue_if_false
son de tipos de datos diferentes, pero la función intenta devolver un solo tipo de datos sivalue_if_true
yvalue_if_false
son de tipos de datos numéricos. En este último caso, la función IF convertirá implícitamente los tipos de datos para dar cabida a ambos valores.Por ejemplo, la fórmula
IF(<condition>, TRUE(), 0)
devuelveTRUE
o 0, pero la fórmulaIF(<condition>, 1.0, 0)
devuelve solo valores decimales aunquevalue_if_false
sea 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 la tabla Product usan la función IF de maneras diferentes para clasificar cada producto en función de su precio de lista.
En el primer ejemplo se comprueba si el valor de la columna List Price es inferior a 500. Cuando esta condición es true, se devuelve el valor Low. Dado que no hay ningún valor value_if_false
, se devuelve BLANK.
Los ejemplos de este artículo se pueden usar con el modelo de Power BI Desktop de Adventure Works 2020 de ejemplo. Para obtener el modelo, consulte DAX modelo de ejemplo.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
En el segundo ejemplo se usa la misma prueba, pero esta vez incluye un valor value_if_false
. Por lo tanto, la fórmula clasifica cada producto como Low
o High
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
En el tercer ejemplo se usa la misma prueba, pero esta vez anida una función IF para realizar una prueba adicional. Por lo tanto, la fórmula clasifica cada producto como Low
, Medium
o High
.
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 valores posibles.