IF
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Verifica uma condição, and retorna um value quando é TRUE
, caso contrário, retorna um secondvalue.
Sintaxe
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Parâmetros
Vigência | Definição |
---|---|
logical_test |
Qualquer expressão valueor que possa ser avaliada para TRUE orFALSE . |
value_if_true |
O value que é retornado if teste lógico é TRUE . |
value_if_false |
(Opcional) O value que é retornado if teste lógico é FALSE .
If omitido, BLANK é devolvido. |
Regresso value
De qualquer value_if_true
, value_if_false
, orBLANK
.
Comentários
A função IF pode retornar um tipo de dados variante if
value_if_true
andvalue_if_false
são de tipos de dados diferentes, mas a função tenta retornar um único tipo de dados if ambos osvalue_if_true
andvalue_if_false
são de tipos de dados numéricos. Neste último caso, a função IF irá implicitamente convert tipos de dados para acomodar ambos os values.Por exemplo, a fórmula
IF(<condition>, TRUE(), 0)
retornaTRUE
or 0, mas a fórmulaIF(<condition>, 1.0, 0)
retorna apenas valueseven decimais, emboravalue_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 Product a seguir usam a função IF de maneiras diferentes para classificar cada product com base em sua lista price.
O exemplo first testa se o value é inferior a 500. Quando essa condição é value_if_false
value, BLANK é devolvida.
Exemplos neste artigo podem ser usados com o modelo sample Adventure Works DW 2020 Power BI Desktop. Para obter o modelo, consulte DAXsample modelo.
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
O exemplo second usa o mesmo teste, mas este time inclui um value_if_false
value. Assim, a fórmula classifica cada product como Low
orHigh
.
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
O terceiro exemplo usa o mesmo teste, mas este time aninha uma função IF para executar um teste adicional. Assim, a fórmula classifica cada product como Low
, Medium
, orHigh
.
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 valuespossíveis.