Exemples de tests conditionnels

Utilisez des tests conditionnels dans les formules Essbase lorsque vous avez besoin de vos calculs pour évaluer les dépendances de données.

Par exemple, vous pouvez appliquer la formule suivante à un membre de la commission dans l'outline du cube pour calculer la commission à 1 % des ventes si les ventes sont supérieures à 500000 :

IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;

Si vous placez la formule dans un script de calcul, vous devez l'associer au membre Commission comme indiqué ci-dessous :

Commission (IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;)

Essbase parcourt le cube en effectuant les calculs suivants :

  1. L'instruction IF vérifie si la valeur de Sales pour la combinaison de membres actuelle est supérieure à 500000.

  2. Si le chiffre d'affaires est supérieur à 500000, Essbase multiplie la valeur de Sales par 0,01 et place le résultat dans Commission.

Dans l'exemple suivant, la formule teste l'ascendance du membre actuel, puis applique la formule de calcul Payroll appropriée :

IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;

Si vous placez la formule dans un script de calcul, vous devez associer la formule au membre Payroll comme indiqué ci-dessous :

Payroll(IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;)

Essbase parcourt la base de données en effectuant les calculs suivants :

  1. L'instruction IF utilise la fonction @ISIDESC pour vérifier si le membre actuel de la dimension Marché est un descendant de l'Est ou de l'Ouest.

  2. Si le membre actuel de la dimension Market est un descendant de East ou West, Essbase multiplie la valeur de Sales par 0,15 et passe à la combinaison de membres suivante.

  3. Si le membre actuel n'est pas un descendant de l'est ou de l'ouest, l'instruction ELSEIF utilise la fonction @ISIDESC pour vérifier si le membre actuel est un descendant du centre.

  4. Si le membre actuel de la dimension Marché est un descendant de Central, Essbase multiplie la valeur de Sales par 0,11 et passe à la combinaison de membres suivante.

  5. Si le membre actuel n'est pas un descendant de East, West ou Central, Essbase multiplie la valeur de Sales par 0,10 et passe à la combinaison de membres suivante.

Reportez-vous également à Concepts de calcul multidimensionnel.