IF

Aplica-se a: Coluna calculada Tabela calculada Medida Cá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 valor ou expressão que possa ser avaliada como 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 devolvido

Ou value_if_true, value_if_false ou BLANK.

Observações

  • A função SE 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 SE 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 SE. ANSIOSO em vez disso.

Exemplos

As definições de coluna calculadas da tabela de produtos a seguir usam a função SE 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á nenhum 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 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 . Assim, 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. Assim, 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"
    )
)

Gorjeta

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.

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