Pour réaliser une requête conditionnelle avec plusieurs cas possible, un simple IIF(, ,) ne suffit pas. Le SWITCH() n'existe pas en MDX, les Switch utilisés dans SSRS viennent du fait que SSRS utilise le langage Visual Basic, pour ce faire en MDX il faut utiliser la commande CASE().

L'expression CASE en MDX permet de retourner des valeurs spécifiques en fonctions de plusieurs comparaisons, il existe 2 type d'expressions CASE. Un premier type (simple) qui permet de spécifier l'expression sur sur laquelle portera les tests. CASE [Expression à tester] WHEN Valeur1 THEN Valeur_de_retour_1 retournée si Expression est égale à la Valeur1 WHEN Valeur2 THEN Valeur_de_retour_2 retournée si Expression est égale à la Valeur2 ETC... [ELSE Valeur retournée dans tous les autres cas] END...

Lire la suite