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 |