Ler em inglês

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

DAX
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 da coluna List Price é 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.

DAX
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.

DAX
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.

DAX
Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

Gorjeta

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ção
SWITCH função (DAX)
Funções lógicas