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

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.

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.

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.

função IF.EAGERSWITCH função (DAX)funções lógicas