IF

Vérifie une condition et retourne une valeur quand sa valeur est TRUE ; sinon, retourne une deuxième valeur.

Syntaxe

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Paramètres

Terme Définition
logical_test Valeur ou expression dont le résultat de l’évaluation peut être TRUE ou FALSE.
value_if_true Valeur retournée si le test logique est TRUE.
value_if_false (Facultatif) Valeur retournée si le test logique est FALSE. S’il n’est pas spécifié, la valeur BLANK est retournée.

Valeur renvoyée

value_if_true, value_if_false ou BLANK.

Notes

  • La fonction IF peut retourner un type de données Variant si value_if_true et value_if_false sont de types de données différents, mais la fonction tente de retourner un type de données unique si value_if_true et value_if_false sont tous deux de types de données numériques. Dans ce dernier cas, la fonction IF convertira implicitement les types de données de façon à gérer les deux valeurs.

    Par exemple, la formule IF(<condition>, TRUE(), 0) retourne TRUE ou 0, mais la formule IF(<condition>, 1.0, 0) retourne uniquement des valeurs décimales, même si value_if_false est du type de données nombre entier. Pour en savoir plus sur la conversion implicite de types de données, consultez Types de données.

  • Pour exécuter les expressions de branche indépendamment de l’expression de condition, utilisez plutôt IF EAGER.

Exemples

Les définitions de colonnes calculées de la table Product suivantes utilisent la fonction IF de différentes façons pour classifer chaque produit en fonction de son prix catalogue.

Le premier exemple teste si la valeur de la colonne List Price est inférieure à 500. Si cette condition est true, la valeur Low est retournée. Étant donné qu’il n’y a pas de valeur value_if_false, BLANK est retourné.

Les exemples de cet article peuvent être utilisés avec l'exemple de modèle Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez Exemple de modèle DAX.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

Le deuxième exemple utilise le même test, mais cette fois-ci avec une valeur value_if_false. La formule classifie donc chaque produit comme suit : Low ou High.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    "High"
)

Le troisième exemple utilise le même test, mais cette fois imbrique une fonction IF pour effectuer un test supplémentaire. La formule classifie donc chaque produit comme suit : Low, Medium ou High.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

Conseil

Si vous devez imbriquer plusieurs fonctions IF, il peut être préférable d’utiliser la fonction SWITCH. Cette fonction permet d’écrire plus élégamment une expression qui retourne plus de deux valeurs possibles.

IF.EAGER, fonction
SWITCH, fonction (DAX)
Fonctions logiques