IF

Se aplica a:Columna calculadaTabla calculadaMediciónCálculo visual

Comprueba una condición y devuelve un valor cuando es "true"; en caso 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 pueda evaluarse como TRUE o FALSE.
value_if_true Valor que se devuelve si la prueba lógica es "true".
value_if_false (Opcioanl) Valor que se devuelve si la prueba lógica es "false". Si se omite, se devuelve BLANK.

Valor devuelto

value_if_true, value_if_false o BLANK.

Comentarios

  • La función IF puede devolver un tipo de datos variante si value_if_true y value_if_false son de diferentes tipos de datos, pero la función intenta devolver un solo tipo de datos si tanto value_if_true como value_if_false son de tipos de datos numéricos. En el último caso, la función IF convertirá de forma implícita los tipos de datos para alojar ambos valores.

    Por ejemplo, la fórmula IF(<condition>, TRUE(), 0) devuelve TRUE o 0, pero la fórmula IF(<condition>, 1.0, 0) devuelve solo valores decimales aunque value_if_false sea de todo el tipo de datos numéricos. Para obtener más información sobre la conversión implícita de tipos de datos, vea Tipos de datos.

  • Para ejecutar las expresiones de bifurcación independientemente de la expresión de condición, utilice IF.EAGER en su lugar.

Ejemplos

En las siguientes definiciones de columna calculada de la tabla Product se usa la función IF de maneras diferentes para clasificar cada producto en función de su precio de venta.

En el primer ejemplo se prueba si el valor de la columna List Price es menor que 500. Cuando esta condición es "true", se devuelve el valor Low. Dado que no hay ningún valor en value_if_false, se devuelve BLANK.

Los ejemplos de este artículo se pueden usar con el modelo de ejemplo de Power BI Desktop de Adventure Works DW 2020. Para obtener el modelo, vea Modelo de ejemplo de DAX.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

En el segundo ejemplo se usa la misma prueba, pero esta vez incluye un valor en value_if_false. Así pues, 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. Así pues, 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"
    )
)

Sugerencia

Cuando se necesiten anidar varias funciones 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 devuelva más de dos valores posibles.

Función IF.EAGER
Función SWITCH (DAX)
Funciones lógicas