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_false
ou BLANK
.
Comentários
A função IF pode retornar um tipo de dados variante se
value_if_true
evalue_if_false
forem de tipos de dados diferentes, mas a função tentará retornar um único tipo de dados sevalue_if_true
evalue_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)
retornaTRUE
ou 0, mas a fórmulaIF(<condition>, 1.0, 0)
retorna apenas valores decimais, mesmo quevalue_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
, Medium
ou 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.