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
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_false
ou BLANK
.
Observações
A função IF poderá 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. No ú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, emboravalue_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 value_if_false
, BLANK é retornado.
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
, Medium
ou 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.