MDX Eviter Division par Zéro et les valeurs 1.#INF





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

Safe_128x128 MDX Eviter Division par Zéro et les valeurs 1.#INF


Comment éviter les erreurs de type Division by Zero ainsi que les valeurs 1.#INF en MDX? Une erreur très fréquente lors des requêtes MDX sur les cubes SSAS, lors du calcul des taux est la division par zéro lorsque le membre utilisé en tant que dividende est nul (égal à NULL) ou égal à zéro.

Pour supprimer les erreurs Division by Zero ou les résultats 1.#INF dans les requêtes MDX utilisées par exemple dans Reporting Services un test de valeur est nécessaire.

Tester si le membre utilisé comme diviseur dans la division est égal à zéro, si c'est le cas, retourner la valeur NULL:

MEMBER MEASURES.[Evolution] AS
IIF( ([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER)=0, NULL,
([Measures].[Ventes Produit]-([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER))
/
([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER)
)


Vous obtenez donc à la place du 1.#INF ou du message d'erreur "Division by Zero" la valeur NULL. Il est beaucoup plus facile de gérer cette valeur NULL dans les rapports et les requêtes et les rapports.
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse