

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utiliser des fonctions conditionnelles dans les expressions de formule
<a name="expression-conditional-functions"></a>

Dans les [transformations](transforms.md) et [les métriques](metrics.md), vous pouvez utiliser la fonction suivante pour vérifier une condition et renvoyer différents résultats, que la condition soit vraie ou fausse.


| Fonction | Description | 
| --- | --- | 
| `if(condition, result_if_true, result_if_false)` | Évalue `condition` et renvoie `result_if_true` si la condition est vraie ou `result_if_false` si la condition est évaluée à. `false`<br />`condition`doit être un chiffre. Cette fonction considère `0` une chaîne vide comme `false` et tout le reste (y compris`NaN`) comme`true`. Les booléens sont convertis en `0` (faux) et `1` (vrai).<br />Vous pouvez renvoyer la [constante none](expression-constants.md#none-definition) à partir de cette fonction pour supprimer la sortie pour une condition particulière. Cela signifie que vous pouvez filtrer les points de données qui ne répondent pas à une condition. Pour de plus amples informations, veuillez consulter [Filtrer les points de données](expression-tutorials.md#filter-data).

**Example Exemples**  
+ `if(0, x, y)`renvoie la variable`y`.
+ `if(5, x, y)`renvoie la variable`x`.
+ `if(gt(temp, 300), x, y)`renvoie la variable `x` si la variable `temp` est supérieure à`300`.
+ `if(gt(temp, 300), temp, none)`renvoie la variable `temp` si elle est supérieure ou égale à`300`, ou `none` (aucune valeur) si elle `temp` est inférieure à`300`.<br />Nous vous recommandons d'utiliser l'UFCS pour les fonctions conditionnelles imbriquées dans lesquelles un ou plusieurs arguments sont des fonctions conditionnelles. Vous pouvez l'utiliser `if(condition, result_if_true)` pour évaluer une condition et `elif(condition, result_if_true, result_if_false)` pour évaluer des conditions supplémentaires.<br />Par exemple, vous pouvez utiliser à la `if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false)` place de`if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false))`.<br />Vous pouvez également enchaîner des fonctions conditionnelles intermédiaires supplémentaires. Par exemple, vous pouvez utiliser plusieurs `if` instructions `if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false)` au lieu de les imbriquer, telles que`if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false)))`. Vous devez l'utiliser `elif(condition, result_if_true, result_if_false)` avec l'UFCS.  | 