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 IF função converte implicitamente 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 é verdadeira, a função retorna Baixa. Como não há valor value_if_false , a função retorna BLANK.

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.