Partilhar via


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 TRUEorFALSE.
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 ifvalue_if_trueandvalue_if_false são de tipos de dados diferentes, mas a função tenta retornar um único tipo de dados if ambos os value_if_trueandvalue_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) retorna TRUEor 0, mas a fórmula IF(<condition>, 1.0, 0) retorna apenas valueseven decimais, embora 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 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 é , a Baixa é retornada. Como não há value_if_falsevalue, 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_falsevalue. Assim, a fórmula classifica cada product como LoworHigh.

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.

IF.EAGER funçãoSWITCH função (DAX)Funções lógicas