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
Prazo | Definição |
---|---|
logical_test |
Qualquer expressão valueor que possa ser avaliada como TRUE orFALSE . |
value_if_true |
O value retornado if o teste lógico é TRUE . |
value_if_false |
(Opcional) O value retornado if o teste lógico é FALSE .
If omitido, BLANK é retornado. |
Retornar value
value_if_true
, value_if_false
, orBLANK
.
Observações
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 IFconvert implicitamente os 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 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 definições de coluna calculada 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 de value_if_false
value, BLANK é retornado.
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 esse time inclui um value_if_false
value. Portanto, 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 esse time aninha uma função IF para executar um teste adicional. Portanto, 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"
)
)
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 duas valuespossíveis.