

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usa le funzioni condizionali nelle espressioni delle formule
<a name="expression-conditional-functions"></a>

Nelle [trasformazioni](transforms.md) e nelle [metriche](metrics.md), è possibile utilizzare la seguente funzione per verificare una condizione e restituire risultati diversi, indipendentemente dal fatto che la condizione restituisca vero o falso.


| Funzione | Description | 
| --- | --- | 
|   `if(condition, result_if_true, result_if_false)`  |  Valuta `condition` e restituisce `result_if_true` se la condizione restituisce vero o `result_if_false` se la condizione restituisce. `false` `condition`deve essere un numero. Questa funzione considera `0` una stringa vuota come `false` e tutto il resto (incluso`NaN`) come`true`. I booleani vengono convertiti in `0` (false) e `1` (true). È possibile restituire la [costante none](expression-constants.md#none-definition) da questa funzione per scartare l'output per una particolare condizione. Ciò significa che puoi filtrare i punti dati che non soddisfano una condizione. Per ulteriori informazioni, consulta [Filtra i punti dati](expression-tutorials.md#filter-data). 

**Example Esempi**  
+ `if(0, x, y)`restituisce la variabile`y`.
+ `if(5, x, y)`restituisce la variabile`x`.
+ `if(gt(temp, 300), x, y)`restituisce la variabile `x` se la variabile `temp` è maggiore di`300`.
+ `if(gt(temp, 300), temp, none)`restituisce la variabile `temp` se è maggiore o uguale a`300`, oppure `none` (nessun valore) se `temp` è minore di`300`. Si consiglia di utilizzare UFCS per funzioni condizionali annidate in cui uno o più argomenti sono funzioni condizionali. È possibile utilizzare `if(condition, result_if_true)` per valutare una condizione e `elif(condition, result_if_true, result_if_false)` valutare condizioni aggiuntive. Ad esempio, puoi usare `if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false)` invece di`if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false))`. È inoltre possibile concatenare funzioni condizionali intermedie aggiuntive. Ad esempio, è possibile utilizzare, `if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false)` anziché annidare, più `if` istruzioni, ad esempio. `if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false)))`  È necessario utilizzarlo `elif(condition, result_if_true, result_if_false)` con UFCS.   | 