Partilhar 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

Vigência Definição
logical_test Qualquer valor ou expressão que possa ser avaliado para TRUE ou FALSE.
value_if_true O valor que é retornado se o teste lógico for TRUE.
value_if_false (Opcional) O valor que é retornado se o teste lógico for FALSE. Se omitido, BLANK é retornado.

Valor de retorno

Ou value_if_true, value_if_falseou BLANK.

Comentários

  • A função IF pode 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. Neste ú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, mesmo que value_if_false seja do tipo de dados de número inteiro. Para saber mais sobre a conversão implícita de tipos de dados, consulte Tipos de dados.

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

Exemplos

As definições de coluna calculadas da tabela Produto a seguir usam a função IF de maneiras diferentes para classificar cada produto com base em seu preço de tabela.

O primeiro exemplo testa se o valor da coluna Preço de Lista é inferior a 500. Quando essa condição for verdadeira, o valor Low será retornado. Como não há valor value_if_false, BLANK é retornado.

Exemplos neste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, consulte DAX exemplo de modelo.

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

O segundo exemplo usa o mesmo teste, mas desta vez inclui um valor value_if_false. Assim, 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. Assim, 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"
    )
)

Dica

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

IF.EAGER funçãoSWITCH função (DAX)Funções lógicas