Ler em inglês

Compartilhar 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

Prazo Definição
logical_test Qualquer expressão valueor que possa ser avaliada como TRUEorFALSE.
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 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 IFconvert implicitamente os 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 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 testa se a da coluna lista de é menor que 500. Quando essa condição é true, a valuebaixa é retornada. Como não há value_if_falsevalue, 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.

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

O exemplo second usa o mesmo teste, mas esse time inclui um value_if_falsevalue. Portanto, 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 esse time aninha uma função IF para executar um teste adicional. Portanto, 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"
    )
)

Dica

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.

de função
função SWITCH (DAX)
Funções lógicas