Maîtriser la fonction SWITCH() dans DAX

Nous suivre sur Google

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>])
syntaxe fonction SWITCH en DAX

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 ».

Fonction SWITCH en DAX utilisation dans power bi

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.

fonction SWITCH en DAX analyser des données Power BI

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 ?

formation power bi gratuite en ligne avec videos et pdf gratuits, suivie par Sacha LETULLIER sur le logiciel Power BI à distance
Notre formation gratuite sur Power BI

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 ».

fonction SWITCH en DAX Power BI plusieurs conditions

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 🎓

Tester votre niveau 🦾

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 %.

romain formation power bi en presentiel individuel

FAQ sur la Fonction SWITCH () DAX

À quoi sert la fonction SWITCH() en 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.

Pourquoi utiliser SWITCH(TRUE()) ?

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.

Faut-il toujours ajouter une valeur par défaut ?

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.

Peut-on combiner SWITCH() avec d’autres fonctions DAX ?

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

Laissez-nous votre avis : post
LAMBERT Augustin

Augustin Lambert

Avant de former sur Excel et Power BI, j'ai passé plus de quatre ans comme contrôleur de gestion (chez Engie Ineo Infracom, puis Alain Afflelou), à construire moi-même les fichiers Excel et tableaux de bord dont mes équipes avaient besoin pour piloter budgets et performances. Déjà pendant mon Master Audit Contrôle Finance à l'ESAM, c'est moi que mes camarades de promotion venaient voir pour comprendre Excel. Aujourd'hui, j'ai fini par transformer cette passion en métier chez Morpheus Formation depuis janvier 2025.
Certifié Microsoft PL-300 et TOSA Power BI.

Articles: 43

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Guide rapide et pratique pour maîtriser Power BI
Entrez votre adresse e-mail et nous vous enverrons notre support 100 % gratuit.
Dernière chance d’en profiter !
FORMATION POWER BI CPF
Vous avez des objectifs précis ? Un formateur vous accompagne pour les atteindre. Notre formation Power BI sur mesure se déroule à distance, en tête-à-tête avec un formateur.D’une durée de 18 à 24 heures, elle est organisée en séances courtes, pour un apprentissage progressif et efficace.
Increase your Online Store's Revenue by 300%
Devenir très bon sur Power BI
Chaque jeudi, une nouvelle vidéo pour : • créer des dashboards, • automatiser vos reportings, • améliorer vos fichiers avec notre expert. C’est gratuit. C’est concret.
1 vidéo Power BI par semaine.