Skip to main content

Funções condicionais

Uma função condicional executa uma ação ou cálculo com base em um teste de dados usando uma instrução IF. Use uma função condicional para fornecer um resultado VERDADEIRO ou FALSO para destacar ou filtrar os dados com base em critérios específicos. As funções condicionais podem ser usadas com qualquer tipo de dados.

Considere cada função condicional antes de escrever seu teste. Algumas funções são mais adequadas para casos de uso específicos.

IF c THEN t ELSE f ENDIF

IF c THEN t ELSE f ENDIF : retorna t se a condição c for verdadeira; senão, retorna f.

Exemplo

IF [Class]==1 THEN "Gold" ELSE "Other" ENDIF

Class

Resultado

1

Gold

2

Other

1

Gold

3

Other

IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF

IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF : retorna t se a primeira condição c for verdadeira; senão, retorna t2 se a segunda condição c2 for verdadeira; senão, retorna f.

Várias outras instruções ELSEIF podem ser incluídas.

Exemplo

IF [Class]==1 THEN "Gold" ELSEIF [Class]==2 THEN "Silver" ELSE "Other" ENDIF

Class

Resultado

1

Gold

2

Silver

1

Gold

3

Other

IIF

IIF(bool, x, y) : retorna x se bool for verdadeiro; senão, retorna y.

Exemplo

IIF([CUSTOMER], "Send flyer", "Send documentation")

  • Se o valor do campo [CUSTOMER] for VERDADEIRO, retorna "Send flyer".

  • Se o valor do campo [CUSTOMER] for FALSO, retorna "Send documentation".

Switch

Switch(Value,Default,Case1,Result1,...,CaseN,ResultN) : compara um valor em relação a uma lista de casos e retorna o resultado correspondente.

Exemplo

Neste exemplo, passamos a coluna "Class", cujos valores são vários tipos de metais. Na função, definimos o caso e o resultado para cada tipo de metal.

Ao executar a função, ela lê o valor na coluna "Class". Em seguida, ela procura esse valor na lista de casos e, se uma correspondência for encontrada, retorna o resultado associado a esse caso. Por exemplo, se o valor for "Silver", a função procura "Silver" na lista de casos e retorna o resultado correspondente; neste caso, "2".

Switch([Class], Null(), "Gold",1, "Silver",2, "Bronze",3, "Tin",4, "Aluminum",5)

Class

Resultado

Aluminum

5

Silver

2

Gold

1

Bronze

3

Tin

4

Silver

2

Gold

1

Other

Nulo