Compartir a través de


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 TRUEorFALSE.
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 ifvalue_if_trueandvalue_if_false son de tipos de datos diferentes, pero la función intenta devolver un solo tipo de datos if ambos value_if_trueandvalue_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) devuelve TRUEor 0, pero la fórmula IF(<condition>, 1.0, 0) devuelve solo valueseven decimal, aunque value_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 se comprueba si el de columna lista de es inferior a 500. Cuando esta condición se true, se devuelve el valuelow. Dado que no hay value_if_falsevalue, 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_falsevalue. Por lo tanto, la fórmula clasifica cada product como LoworHigh.

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.

IF.EAGER funciónSWITCH función (DAX)funciones lógicas