Partager via


Utilisation de la fonction RollupChildren (MDX)

La fonction Multidimensional Expressions (MDX) RollupChildren [Script pour recherche et remplacement] cumule les enfants d’un membre en appliquant un opérateur unaire différent à chaque enfant et renvoie la valeur de ce cumul sous forme de nombre. L’opérateur unaire peut être fourni par une propriété membre associée au membre enfant, ou bien l’opérateur peut être une expression de chaîne directement transmise à la fonction.

Fonction RollupChildren : Exemples

L’utilisation de la RollupChildren fonction dans les instructions MDX (Multidimensional Expressions) est simple à expliquer, mais l’effet de cette fonction sur les requêtes MDX peut être large.

L’effet de la RollupChildren fonction se produit dans les requêtes MDX conçues pour effectuer une analyse sélective sur les données de cube existantes. Par exemple, le tableau suivant contient une liste de membres enfants pour le membre parent Net Sales, avec leurs opérateurs unaires (représentés par la UNARY_OPERATOR propriété membre) affichés entre parenthèses.

Membre parent Membre enfant
Ventes nettes Ventes intérieures (+)

Retours nationaux (-)

Ventes étrangères (+)

Retours étrangers (-)

Le membre parent Net Sales fournit actuellement un total de ventes nettes moins les valeurs brutes des ventes intérieures et étrangères, avec les rendements nationaux et étrangers soustraits dans le cadre du cumul.

Toutefois, vous souhaitez fournir une prévision rapide et facile des ventes brutes intérieures et étrangères plus 10%, ignorant les rendements nationaux et étrangers. Pour calculer cette valeur, vous pouvez utiliser la RollupChildren fonction de deux façons : avec une propriété membre personnalisée ou avec la IIf fonction.

Utilisation d’une propriété membre personnalisée

Si le calcul cumulatif doit être une opération fréquemment effectuée, une méthode consiste à créer une propriété membre qui stocke l’opérateur qui sera utilisé pour chaque enfant pour une fonction spécifique. Le tableau suivant affiche des opérateurs unaires valides et décrit le résultat attendu.

Opérateur Résultat
+ total = total + enfant actuel
- total = total - enfant actuel
* total = total * enfant actuel
/ total = total / enfant actuel
~ L’enfant n’est pas utilisé dans la synthèse. La valeur de l’enfant est ignorée.

Par exemple, une propriété membre appelée SALES_OPERATOR peut être créée et les opérateurs unaires suivants sont affectés à cette propriété membre, comme indiqué dans le tableau suivant.

Membre qui est parent Membre junior
Ventes nettes Ventes intérieures (+)

Retours nationaux (~)

Ventes étrangères (+)

Retours étrangers (~)

Avec cette nouvelle propriété membre, l’instruction MDX suivante effectuerait rapidement et efficacement l’opération d’estimation des ventes brutes (ignorant les rendements étrangers et nationaux) :

RollupChildren([Net Sales], [Net Sales].CurrentMember.Properties("SALES_OPERATOR")) * 1.1  

Lorsque la fonction est appelée, la valeur de chaque enfant est appliquée à un total à l’aide de l’opérateur stocké dans la propriété membre. Les membres des retours nationaux et étrangers sont ignorés, et le total cumulatif que retourne la fonction RollupChildren est multiplié par 1,1.

Utilisation de la fonction IIf

Si l’exemple d’opération n’est pas courant ou si l’opération ne s’applique qu’à une seule requête MDX, la fonction IIf peut être utilisée avec la RollupChildren fonction pour fournir le même résultat. La requête MDX suivante fournit le même résultat que l’exemple MDX précédent, mais le fait sans recourir à l’utilisation d’une propriété membre personnalisée :

RollupChildren([Net Sales], IIf([Net Sales].CurrentMember.Properties("UNARY_OPERATOR") = "-", "~", [Net Sales].CurrentMember.Properties("UNARY_OPERATOR))) * 1.1  

L’instruction MDX examine l’opérateur unaire du membre enfant. Si l’opérateur unaire est utilisé pour la soustraction (comme dans le cas des membres nationaux et étrangers), la IIf fonction remplace l’opérateur unaire (~). Sinon, une fonction IIf utilise l'opérateur unaire du membre enfant. Enfin, le total cumulatif retourné est ensuite multiplié par 1,1 pour fournir la valeur de prévision des ventes brutes intérieures et étrangères.

Voir aussi

Manipulation de données (MDX)