Compartilhar via


IF

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Verifica uma condição e retorna um valor quando é TRUE, caso contrário, retorna um segundo valor.

Sintaxe

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Parâmetros

Prazo Definição
logical_test Qualquer valor ou expressão que possa ser avaliada como TRUE ou FALSE.
value_if_true O valor retornado se o teste lógico for TRUE.
value_if_false (Opcional) O valor retornado se o teste lógico for FALSE. Se omitido, BLANK será retornado.

Valor de retorno

value_if_true, value_if_falseou BLANK.

Observações

  • A função IF poderá retornar um tipo de dados variante se value_if_true e value_if_false forem de tipos de dados diferentes, mas a função tentará retornar um único tipo de dados se value_if_true e value_if_false forem de tipos de dados numéricos. No último caso, a função IF converterá implicitamente os tipos de dados para acomodar ambos os valores.

    Por exemplo, a fórmula IF(<condition>, TRUE(), 0) retorna TRUE ou 0, mas a fórmula IF(<condition>, 1.0, 0) retorna apenas valores decimais, embora value_if_false seja do tipo de dados numérico inteiro. Para saber mais sobre a conversão de tipo de dados implícito, consulte Tipos de dados.

  • Para executar as expressões de branch independentemente da expressão de condição, use IF.EAGER em vez disso.

Exemplos

As seguintes definições de coluna calculada da tabela Product usam a função IF de maneiras diferentes para classificar cada produto com base em seu preço de lista.

O primeiro exemplo testa se o valor da coluna preço de lista é menor que 500. Quando essa condição for verdadeira, o valor Baixa será retornado. Como não há nenhum valor value_if_false, BLANK é retornado.

Exemplos neste artigo podem ser usados com o modelo adventure works dw 2020 power bi desktop de exemplo. Para obter o modelo, consulte DAX modelo de exemplo.

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

O segundo exemplo usa o mesmo teste, mas desta vez inclui um valor value_if_false. Portanto, a fórmula classifica cada produto como Low ou High.

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

O terceiro exemplo usa o mesmo teste, mas desta vez aninha uma função IF para executar um teste adicional. Portanto, a fórmula classifica cada produto como Low, Mediumou High.

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

Ponta

Quando você precisa aninhar várias funções IF, a função SWITCH pode ser uma opção melhor. Essa função fornece uma maneira mais elegante de escrever uma expressão que retorna mais de dois valores possíveis.

função IF.EAGERSWITCH função (DAX)funções lógicas