Votre site référence pour maîtriser Power BI proposé Morpheus Formation,
Maîtriser la fonction SWITCH() dans DAX
Vous cherchez une manière efficace de gérer les conditions dans vos formules DAX ?
On a la solution, la fonction SWITCH(). Elle vous permet d’évaluer une expression et de retourner des résultats selon plusieurs critères. Finies les longues chaînes d’IF() imbriquées !
Dans cet article, nous allons explorer en détail la fonction SWITCH(), son utilisation, et pourquoi elle est souvent préférée aux autres fonctions DAX.
Qu’est ce que la fonction SWITCH() en DAX ?
La fonction SWITCH() en DAX permet de simplifier les conditions dans vos formules. Elle évalue une expression et renvoie une valeur en fonction de plusieurs conditions possibles.
Vous pouvez :
- Spécifier une expression à évaluer.
- Définir des valeurs possibles et les résultats associés.
- Renvoyer le résultat de la première correspondance trouvée.
Nous avons vu son rôle mais concrètement comment l’écrire ? Dans la section suivante, nous allons voir la syntaxe.
Syntaxe de la fonction SWITCH() DAX
La fonction SWITCH() en DAX s’écrit :
SWITCH(Expression, Valeur_n, Résultat_n, [<valeur_par_défaut>])

Pour mieux comprendre les éléments:
- expression : L’expression à évaluer par exemple, une colonne ou une mesure.
- valeur_n : Ce sont les valeurs que vous comparez avec l’expression.
- résultat_n : Les résultats à retourner si la valeur correspond.
- valeur_par_défaut : Résultat retourné si aucune valeur ne correspond.
Vous avez les bases, vous comprenez le sujet et vous savez écrire sa syntaxe. Passons désormais à la pratique.
Cas pratiques de la fonction SWITCH() DAX
Exemple : comparer une valeur à plusieurs résultats
Nous avons un rapport Power BI avec plusieurs pays et nous voulons afficher automatiquement une analyse différente selon la sélection de l’utilisateur.
Pour cela, nous créons une mesure Analyse_Pays avec la fonction SWITCH :
Analyse_Pays =
SWITCH(
SELECTEDVALUE('Pays'[Pays]),
"France", "Marché domestique",
"Allemagne", "Marché prioritaire",
"Espagne", "Marché en développement",
"Italie", "Marché historique",
"Belgique", "Marché de proximité",
"Sélectionnez un seul pays pour voir l'analyse"
)
Ici, SELECTEDVALUE récupère le pays sélectionné dans le segment. SWITCH se charge ensuite d’afficher le texte correspondant.
Si aucun pays ou plusieurs pays sont sélectionnés, Power BI affiche simplement : « Sélectionnez un seul pays pour voir l’analyse ».

Sélectionnons maintenant l’Espagne. La mesure reconnaît automatiquement la valeur et affiche « Marché en développement ».
Pas besoin de créer plusieurs mesures : SWITCH adapte le résultat en fonction de la sélection de l’utilisateur.

Vous pouvez ensuite être utilisée dans un graphique ou un tableau de bord Power BI pour comparer plus facilement vos différents marchés.
Besoin de vous former gratuitement sur Power BI ?
Notre formation gratuite sur Power BI vous aide à découvrir le logiciel et à apprendre à publier vos premiers rapports. C’est un excellent point de départ pour devenir autonome sur le logiciel.
Au programme, des vidéos et leçons claires, pour apprendre les bases essentielles de Power BI, en partant de zéro.

Exemple avancé : évaluer plusieurs conditions
Pour un cas plus complexe, imaginons que nous voulons afficher une appréciation selon le chiffre d’affaires réalisé.
Nous utilisons alors SWITCH(TRUE()) :
Performance_Ventes =
SWITCH(
TRUE(),
[Total CA] >= 500000, "Performance Exceptionnelle",
[Total CA] >= 200000, "Bonne Performance",
[Total CA] >= 50000, "Performance Moyenne",
[total CA ALL] > 0, "Performance Faible",
"Aucun Chiffre d'Affaires"
)
Power BI vérifie les conditions dans l’ordre et retourne le premier résultat correspondant.
Par exemple, si le chiffre d’affaires dépasse 200 000, mais reste inférieur à 500 000, le rapport affiche automatiquement « Bonne Performance ».

Avec SWITCH(TRUE()), vous pouvez donc créer facilement des catégories, des statuts ou des messages dynamiques à partir de plusieurs conditions.fichera « En stock ». Si seul le produit est vendu mais pas en stock, il indiquera « Sur commande ».
Pour mettre en valeur le résultat de votre mesure, vous pouvez également apprendre à créer un visuel KPI interactif dans Power BI.
Vous y voyez plus clair ? C’est super. On a vu la fonction SWITCH () avec DAX, mais existe-il une fonction pour une seule condition ? Bingo ! C’est juste après.
Testez votre Niveau sur Power BI 🎓
Avant de se lancer, pourquoi ne pas tester votre niveau ? Avec notre test de 30 questions, vous évaluez rapidement vos compétences sur Power BI.
Quelle est la différence entre la fonction IF et SWITCH ?
La différence, c’est la manière d’écrire la logique :
SWITCH()en DAX regroupe plusieurs conditions dans une seule structure.- La fonction IF()en DAX est une condition, puis peut contenir un autre
IF()pour tester la suivante.
Vous voulez un exemple ? Pas de soucis !
Cas pratique avec IF ()
Une entreprise souhaite classer ses commerciaux :
- 50 000 € ou plus : « Objectif atteint »
- entre 30 000 € et 49 999 € : « Presque atteint »
- moins de 30 000 € : « Non atteint »
Avec IF() :
Statut =
IF(
[ChiffreAffaires] >= 50000,
"Objectif atteint",
IF([ChiffreAffaires] >= 30000, "Presque atteint", "Non atteint")
)
Avec SWITCH() :
Statut =
SWITCH(
TRUE(),
[ChiffreAffaires] >= 50000, "Objectif atteint",
[ChiffreAffaires] >= 30000, "Presque atteint",
"Non atteint"
)
Dans Power BI, SWITCH() en DAX est simplement plus facile à lire.
En plus de IF(), le langage DAX propose d’autres fonctions conditionnelles à ne pas confondre avec SWITCH (). Découvrons cela ensemble.
SWITCH vs COALESCE, IFERROR
Les autres fonctions conditionnelles peuvent sembler proches, mais elles ne répondent pas au même besoin que la fonction SWITCH()
| Fonction | Utilisation |
|---|---|
IF() |
Tester une condition simple |
SWITCH() |
Gérer plusieurs cas dans une formule plus lisible |
COALESCE() |
Renvoyer la première valeur non vide |
IFERROR() |
Afficher un autre résultat en cas d’erreur |
IF() et SWITCH() servent à gérer des conditions. La fonction COALESCE()en DAX traite surtout les valeurs vides, tandis que IFERROR() permet de gérer les erreurs.
Vous avez maintenant compris les autres fonctions conditionnelles. Revenons à nos moutons, reparlons de SWITCH (), il y a quelques erreurs à éviter. On en parle tout de suite.
Comment éviter les erreurs SWITCH en DAX ?
Beaucoup se trompent lors de l’utilisation de SWITCH(), pour y remédier, voici nos conseils pour les éviter.
- Oublier le cas par défaut : N’oubliez pas d’ajouter une valeur par défaut pour éviter des retours inattendus.
- Confondre les types de données : Assurez-vous que les valeurs de comparaison et de retour sont du même type.
- Ordre des conditions : L’ordre des conditions peut affecter le résultat. Assurez-vous qu’il est logique.
Et voilà ! Vous connaissez l’essentiel sur la fonction SWITCH () DAX dans Power BI. Vous souhaitez approfondir vos connaissances ? C’est juste par ici.
Envie d’aller plus loin sur Power BI ?
Vous souhaitez aller plus loin ? Découvrez notre formation Power BI sur mesure, animée en direct par un expert et adaptée à vos besoins.
Elle peut notamment être dispensée par Augustin LAMBERT, auteur de cet article et expert Power BI certifié PL-300.
Avec Morpheus Formation, vous progressez par la pratique, directement à partir de vos propres fichiers et de vos données. La formation affiche un taux de satisfaction de 97 %.

FAQ sur la Fonction SWITCH () DAX
La fonction SWITCH() permet de tester plusieurs cas et de renvoyer le résultat correspondant. Elle facilite la création de catégories, de statuts ou de messages dans Power BI.
IF() est adapté à une condition simple. SWITCH() devient plus lisible lorsque plusieurs cas doivent être évalués. Les deux fonctions peuvent toutefois produire le même résultat.
Ce n’est pas obligatoire, mais cela reste recommandé. La valeur par défaut s’affiche lorsqu’aucun cas ne correspond. Sans elle, la fonction renvoie une valeur vide.
Bien sûr ! Vous pouvez la combiner avec SUMX(), COUNTROWS(), CALCULATE() ou d’autres fonctions. Ces fonctions réalisent le calcul, puis SWITCH() renvoie un résultat selon la valeur obtenue



