SWITCH(TRUE()) : segmenter
Trois seuils, quatre résultats : avec IF, on obtient trois IF imbriqués et une formule illisible. SWITCH(TRUE()) aligne les conditions les unes sous les autres et renvoie le résultat de la première vraie.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Définition
SWITCH(TRUE(), condition1, résultat1, condition2, résultat2, …, défaut) teste les conditions dans l'ordre et renvoie le résultat de la première vraie, ou la valeur par défaut si aucune ne l'est.
02Le simulateur
03IF imbriqués ou SWITCH
Segment IF = IF([CA] >= 1500, "Premium", IF([CA] >= 800, "Fidèle", "Occasionnel")) Segment = SWITCH( TRUE(), [CA] >= 1500, "Premium", [CA] >= 800, "Fidèle", "Occasionnel" )
04À toi de jouer
Segmenter les clients
Classe chaque client selon son CA 2026 : Premium à partir de 6 000 €, Fidèle à partir de 2 500 €, Occasionnel en dessous. Un client sans achat ne doit rien afficher.
| Client | CA 2026 | Segment |
|---|---|---|
| Garage Martin | 12 277 € | Premium |
| Cabinet Roy | 11 590 € | Premium |
| Fleurs & Co | 1 408 € | Occasionnel |
| Café des Arts | 6 815 € | Premium |
| Librairie Page | 5 118 € | Fidèle |
| Atelier Lumière | 3 553 € | Fidèle |
| … |
Résultat attendu : 10 clients, 3 segments.
Le même classeur sert pour tous les défis : 408 ventes sur 2025 et 2026, avec les tables Produits, Clients et Dates. L'onglet Lisez-moi indique les relations à créer.
Solution : SWITCH(TRUE()) avec les seuils du plus haut au plus bas, et ISBLANK en premier test.
Segment = VAR ca = [CA] RETURN SWITCH( TRUE(), ISBLANK(ca), BLANK(), ca >= 6000, "Premium", ca >= 2500, "Fidèle", "Occasionnel" )
05Pièges à éviter
SWITCH s'arrête à la première condition vraie. Tester « >= 800 » avant « >= 1500 » classe tous les gros clients en Fidèle. Commence toujours par le seuil le plus haut.
Sans test ISBLANK en premier, un client sans aucune vente reçoit la valeur par défaut. Il apparaît alors dans toutes les matrices, avec un segment qui n'a pas de sens.
06Questions fréquentes
Comment remplacer des IF imbriqués en DAX ?
SWITCH(TRUE(), condition1, résultat1, condition2, résultat2, …, défaut) teste les conditions dans l'ordre et renvoie le résultat de la première vraie, ou la valeur par défaut si aucune ne l'est.
Quel est le piège le plus fréquent avec SWITCH(TRUE()) ?
Les seuils dans le mauvais ordre. SWITCH s'arrête à la première condition vraie. Tester « >= 800 » avant « >= 1500 » classe tous les gros clients en Fidèle. Commence toujours par le seuil le plus haut.
La fiche « SWITCH(TRUE()) : segmenter » est-elle gratuite ?
Oui. La fiche, son simulateur et son défi et sa version PDF sont en accès libre et gratuit, sans inscription. Elle fait partie du cours DAX gratuit de mesetudesdecas.fr, qui compte 32 fiches.
Passez de la fiche à la mise en situation
Les études de cas de mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise : modèle de données, mesures DAX et tableau de bord Power BI, avec énoncé, corrigé et pas-à-pas du formateur.
Voir le catalogueVoir aussi le cours Power Query gratuit
Fiche V1.0 | Dernière mise à jour : 02/11/2026 | Clément Delobel, formateur Power BI et DAX