Skip to main content

Funzioni condizionali

Una funzione condizionale esegue un'azione o un calcolo basati su un test di dati utilizzando un'istruzione IF. Utilizza una funzione condizionale per fornire un risultato TRUE o FALSE per evidenziare o filtrare i dati in base a criteri specifici. È possibile utilizzare le funzioni condizionali con qualsiasi tipo di dati.

Prima di scrivere il test, considera ogni funzione condizionale. Alcune funzioni condizionali sono più adatte a casi d'uso specifici.

IF c THEN t ELSE f ENDIF

IF c THEN t ELSE f ENDIF : restituisce t se la condizione c è True, altrimenti restituisce f.

Esempio

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

Classe

Risultato

1

Oro

2

Altro

1

Oro

3

Altro

IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF

IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF : restituisce t se la prima condizione è True e t2 se la seconda condizione c2 è True, altrimenti restituisce f.

È possibile includere più istruzioni ELSEIF.

Esempio

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

Classe

Risultato

1

Oro

2

Argento

1

Oro

3

Altro

IIF

IIF(bool, x, y) : restituisce x se il valore booleano è True, altrimenti restituisce y.

Esempio

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

  • If the [CUSTOMER] field value is TRUE, then it returns Send flyer.

  • If the [CUSTOMER] field value is FALSE, then it returns Send documentation.

Switch

Switch(Value,Default,Case1,Result1,...,CaseN,ResultN) : confronta un valore rispetto a un elenco di casi e restituisce il risultato corrispondente.

Esempio

In questo esempio passiamo alla colonna "Classe" dove i valori rappresentano vari tipi di metalli. Nella funzione definiamo quindi il caso e il risultato per ogni tipo di metallo.

Quando viene eseguita, la funzione legge il valore nella colonna "Classe", lo cerca nell'elenco dei casi e, se trova una corrispondenza, restituisce il risultato associato al caso specifico. Ad esempio, se il valore è "Silver", la funzione cerca "Silver" nell'elenco dei casi e restituisce il risultato corrispondente, in questo caso 2.

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

Classe

Risultato

Alluminio

5

Argento

2

Oro

1

Bronzo

3

Stagno

4

Argento

2

Oro

1

Altro

Null