Equivalent MDX de la requête SWITCH() sous SQL Server





11-15-2012, 05:00 PM
Message : #1

Flow-chart_128x128 Equivalent MDX de la requête SWITCH() sous SQL Server


Quel est l'équivalent en MDX du SWITCH() sous SQL Server? Pour réaliser une requête conditionnelle contenant plusieurs cas possible en MDX, un simple IIF() ne sera pas suffisant. Il n’y a pas de SWITCH()en MDX, les Switch dont on se sert dans SSRS proviennent du fait que SSRS se sert du langage Visual Basic, en MDX il vous faudra utiliser la commande CASE(), qui existe également en T-SQL.


L'expression CASE en MDX vous donne la possibilité de retourner des valeurs spécifiques en fonctions de plusieurs comparaisons, vous avez le choix entre 2 types d'expressions CASE différentes en MDX, comme pour le SQL classique.


1er type d'expression CASE en MDX, avec l'expression testée au début du CASE :

CASE [Expression à tester]
WHEN Valeur1 THEN Valeur_de_retour_1 retournée si Valeur1 est trouvée
WHEN Valeur2 THEN Valeur_de_retour_2 retournée si Valeur2 est trouvée
ETC...
[ELSE Valeur retournée dans tous les autres cas]
END

2ème type d'expression CASE en MDX, avec n'importe qu'elle expression testée au niveau de chaque élément WHEN .. THEN :


CASE
WHEN [Expression à tester 1] THEN Valeur_de_retour_1 retournée si [Expression à tester 1] est remplie
WHEN [Expression à tester 2] THEN Valeur_de_retour_2 retournée si [Expression à tester 2] est remplie

ETC...

[ELSE Valeur retournée dans tous les autres cas]
END
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse