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

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

Retornar valor

value_if_true, value_if_false ou BLANK.

Comentários

  • A função IF pode retornar o tipo de dados de variante se value_if_true e value_if_false são de tipos de dados diferentes, mas a função tenta retornar um só tipo de dados se value_if_true e value_if_false são de tipos de dados numéricos. No último caso, a função IF converterá implicitamente os tipos de dados para acomodar os dois 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 número inteiro. Para saber mais sobre a conversão implícita de tipos de dados, confira Tipos de dados.

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

Exemplos

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

O primeiro exemplo testa se o valor da coluna List Price é menor que 500. Quando essa condição é verdadeira, o valor Baixo é retornado. Como não há nenhum valor value_if_false, BLANK é retornado.

Os exemplos deste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, confira Modelo de exemplo DAX.

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 Baixo ou Alto.

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 Baixo, Médio ou Alto.

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. Essa função fornece uma forma mais elegante de escrever uma expressão que retorna mais de dois valores possíveis.

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