Calculer les données d'attribut
Essbase calcule dynamiquement les données d'attribut au moment de l'extraction, à l'aide de membres d'une dimension définie par le système créée par Essbase. A l'aide de cette dimension, vous pouvez appliquer différentes fonctions de calcul, telles qu'une somme ou une moyenne, au même attribut.
Vous pouvez également effectuer des calculs spécifiques sur les membres des dimensions d'attribut, par exemple pour déterminer la rentabilité par once des produits dimensionnés par once.
Les informations suivantes supposent que vous comprenez les concepts des dimensions d'attribut et des calculs Essbase, y compris les calculs dynamiques. Reportez-vous aux sections suivantes .
Dimension Calculs d'attribut
Lorsque vous implémentez des attributs dans votre cube, une dimension de calcul dynamique de type libellé uniquement est ajoutée automatiquement pour les calculs d'attribut. Essbase l'utilise pour calculer les données d'attribut au moment de l'extraction.
Lorsque vous créez la première dimension d'attribut dans l'outline, Essbase crée la dimension Calculs d'attribut comprenant cinq membres avec les noms par défaut Somme, Nombre, Min (minimum), Max (maximum) et Moy (moyenne). Vous pouvez utiliser ces membres dans des feuilles de calcul ou des rapports pour calculer et générer des rapports dynamiques sur les données d'attribut, telles que les ventes annuelles moyennes de bouteilles de cola de 12 onces dans l'Ouest.
La dimension Attribute Calculations n'est pas visible dans l'outline. Vous pouvez le voir partout où vous sélectionnez des membres de dimension, par exemple dans Smart View.
La dimension de calcul d'attribut a les propriétés suivantes :
-
Définie par le système
Lorsque vous créez la première dimension d'attribut dans une application, Essbase crée la dimension Calculs d'attribut et ses membres (Somme, Nombre, Min, Max et Moyenne). Chaque membre représente un type de calcul à effectuer pour les attributs.
-
Information seule
Comme toutes les dimensions de type Label Only, la dimension Attribute Calculations partage la valeur de son premier enfant, Sum.
Reportez-vous à Propriétés de stockage de membre.
-
Calcul dynamique
Les données de la dimension Calculs d'attribut sont calculées lorsqu'un utilisateur les demande et sont ensuite ignorées. Vous ne pouvez pas stocker les données d'attribut calculé dans une base de données.
Reportez-vous à Calcul dynamique des valeurs de données.
-
Non affiché dans l'Editeur de profils
La dimension Calculs d'attribut n'est pas affichée dans l'Editeur de profils. Les membres de cette dimension peuvent être affichés dans des feuilles de calcul et des rapports.
Il n'y a pas de consolidation dans les dimensions d'attribut. Vous ne pouvez pas baliser des membres de dimensions d'attribut avec des symboles de consolidation (par exemple, + ou -) ou avec des formules de membre pour calculer les données d'attribut. En tant que membres de calcul dynamique, les calculs d'attribut n'affectent pas le calcul de batch en termes de temps ou d'ordre de calcul.
Pour calculer les données d'attribut au moment de l'extraction, Essbase effectue les tâches suivantes :
-
Recherche les membres de dimension de base associés aux membres de dimension d'attribut présents dans la requête en cours.
-
Calcule dynamiquement la somme, le nombre, le minimum, le maximum ou la moyenne pour la combinaison attribut-membre de la requête en cours.
-
Affiche les résultats dans la feuille de calcul ou le rapport.
-
Ignore les valeurs calculées, c'est-à-dire qu'elles ne sont pas stockées dans la base de données.
Remarques :
Essbase exclut les valeurs #MISSING lors du calcul des données d'attribut.
Par exemple, comme illustré dans la figure 6-2, un utilisateur de feuille de calcul spécifie deux membres de dimensions d'attribut (Ounces_16 et Bottle) et un membre Attribute Calculations (Moyenne) dans un rapport de feuille de calcul. Lors de l'extraction, Essbase calcule dynamiquement les valeurs de vente moyennes de tous les produits associés à ces attributs pour la combinaison de membres actuelle (Réel -> Ventes -> Est -> Trimestre 1) :
Figure 6-2 Extraction d'un membre de calcul d'attribut

Reportez-vous à Accès aux membres de calcul d'attribut dans Smart View.
Membres par défaut de la dimension Calculs d'attribut
La dimension Calculs d'attribut Essbase contient cinq membres (Somme, Nombre, Min, Max et Moyenne) utilisés pour calculer et générer des rapports sur les données d'attribut.
Sum : calcule la somme ou le total des valeurs d'un membre avec un attribut ou une combinaison d'attributs.
Count : calcule le nombre de membres avec l'attribut ou la combinaison d'attributs spécifié, pour lequel une valeur de données existe. Count inclut uniquement les membres qui ont des blocs de données. Pour calculer le nombre de membres avec certains attributs, qu'ils aient ou non des valeurs de données, utilisez la fonction @COUNT en combinaison avec la fonction @ATTRIBUTE.
Average : Calcule une moyenne mathématique des valeurs non manquantes pour un attribut spécifié ou une combinaison d'attributs (Somme divisée par Nombre).
Min : calcule la valeur de données minimale pour un attribut ou une combinaison d'attributs spécifiés.
Max : calcule la valeur de données maximale pour un attribut ou une combinaison d'attributs spécifiés.
Remarques :
Chacun de ces calculs exclut les valeurs #MISSING.
Vous pouvez modifier ces noms de membre par défaut, en respectant les mêmes conventions de dénomination que les membres standard. Reportez-vous à Modification des noms de membres de la dimension de calculs d'attribut.
Exemple de calcul d'attribut
Pour illustrer la façon dont Essbase calcule les données d'attribut, les calculs d'attribut sont utilisés pour calculer la somme, le nombre, la moyenne, le minimum et le maximum des ventes pour les produits emballés dans des bouteilles et des boîtes.
Tenez compte des données de ventes annuelles suivantes pour l'Est :
Tableau 6-3 Exemple de données d'attribut
| Membre de dimension de base | Attributs associés | Valeur des ventes pour combinaison attribut-membre |
|---|---|---|
|
Cola |
Onces_12, Can |
23 205 |
|
Soda light |
Onces_12, Can |
3 068 |
|
Crème Diète |
Onces_12, Can |
1 074 |
|
Grape |
Onces_32, Bouteille |
6 398 |
|
Orange |
Onces_32, Bouteille |
3 183 |
|
Fraise |
Onces_32, Bouteille |
5 664 |
La figure 6-3 illustre l'apparence des données d'attribut calculées dans un rapport de feuille de calcul. Vous pouvez extraire plusieurs membres Attribute Calculations pour les attributs. Par exemple, vous pouvez calculer Somme, Nombre, Moyenne, Min et Max pour les bouteilles et les boîtes.
Figure 6-3 Exemple de feuille de calcul avec données d'attribut

Accéder aux membres de calcul d'attribut dans Smart View
Vous pouvez accéder aux membres à partir de la dimension Calculs d'attribut Essbase dans Smart View.
Dans la feuille de calcul, les utilisateurs peuvent afficher les membres de la dimension Calculs d'attribut à l'aide de l'une des méthodes suivantes :
-
Entrer des membres directement dans une feuille
-
Sélectionner des membres dans le concepteur de requêtes
-
Entrer des membres en tant que paramètre EssCell
Performances de calcul et d'extraction des attributs
Pour optimiser les requêtes d'attribut dans Essbase, assurez-vous que les dimensions d'attribut sont les seules dimensions de calcul dynamique dispersées, positionnez les dimensions dispersées après les dimensions denses, accédez au niveau le plus bas des dimensions de base avant extraction et regroupez les membres de la dimension de base en fonction de leurs attributs.
Pour optimiser les performances de calcul et d'extraction des attributs, tenez compte des éléments suivants :
-
L'ordre de calcul des calculs d'attribut est identique à celui des calculs dynamiques. Voir Ordre de calcul pour le calcul dynamique.
-
Etant donné qu'Essbase calcule dynamiquement les données d'attribut au moment de l'extraction, les calculs d'attribut n'affectent pas les performances du calcul global de la base de données (en batch).
-
Le marquage des membres de dimension de base comme calcul dynamique peut augmenter le temps d'extraction.
-
Lorsqu'une requête inclut le membre Sum et un membre de dimension d'attribut dont le membre de base associé est marqué comme deux passes, le temps d'extraction peut être long.
-
Pour optimiser les performances d'extraction des attributs, utilisez l'une des techniques suivantes :
-
Configurez le plan à l'aide des conseils de la section Optimiser les performances du plan à l'aide d'attributs.
-
Accédez au niveau le plus bas des dimensions de base avant d'extraire les données. Par exemple, dans Smart View, activez la fonctionnalité Naviguer sans données, accédez au niveau le plus bas des dimensions de base incluses dans le rapport, puis extrayez les données.
-
Lorsque les membres d'une dimension de base sont associés à plusieurs dimensions d'attribut, envisagez de regrouper les membres de la dimension de base en fonction de leurs attributs. Par exemple, dans la base de données Sample Basic, vous pouvez regrouper tous les produits à 8 onces.
-
Attributs dans les formules de calcul
Outre l'utilisation de la dimension Calculs d'attribut pour calculer les données d'attribut, vous pouvez utiliser des formules sur les membres des dimensions standard ou de base pour effectuer des calculs sur les membres des dimensions d'attribut Essbase.
Par exemple, vous pouvez appliquer une formule à un membre de la dimension Comptes pour déterminer la rentabilité par once des produits dimensionnés par once.
Vous ne pouvez pas associer des formules à des membres de dimensions d'attribut.
Remarques :
Certaines restrictions s'appliquent lors de l'utilisation d'attributs dans des formules associées à des membres à deux passes. Reportez-vous aux lignes relatives aux calculs à deux passes dans Calculs à deux passes sur les dimensions d'attribut.
Vous pouvez utiliser les fonctions suivantes pour effectuer des calculs sur les attributs :
Tableau 6-4 Fonctions de calcul sur les attributs
| Fonction | Type de calcul |
|---|---|
|
@ATTRIBUTE (pour le stockage de blocs) ou MDX ATTRIBUTE() (pour le stockage d'agrégats) |
Générez une liste de tous les membres de base avec un attribut spécifique. Par exemple, générez une liste de membres qui ont l'attribut Bouteille, puis augmentez le prix de ces membres. |
|
Renvoie la valeur du membre d'attribut de niveau 0 associé au membre de base calculé.
Par exemple, renvoie la valeur numérique d'un attribut size (par exemple, 12 pour le membre 12 sous Onces) pour le membre de base en cours de calcul (par exemple, Cola). Pour un exemple supplémentaire d'utilisation de @ATTRIBUTEVAL dans une formule, voir Calculer une formule d'attribut. |
|
|
@TODATE (pour le stockage de blocs) ou MDX TODATE() (pour le stockage d'agrégats) |
Convertir une chaîne de date en nombres pour un calcul. Par exemple, utilisez la fonction @TODATE en combinaison avec la fonction @ATTRIBUTEVAL pour augmenter les coûts indirects des magasins ouverts après une certaine date. |
|
@WITHATTR (pour le stockage de blocs) ou MDX WITHATTR() (pour le stockage d'agrégats) |
Générez une liste de membres de dimension de base associés à des attributs qui satisfont aux conditions que vous spécifiez. Par exemple, générez une liste de produits supérieurs ou égaux à 20 onces, puis augmentez le prix de ces produits. |
Calcul d'attribut et membres partagés
Pour éviter des résultats inattendus avec le calcul des attributs, évitez de mélanger les membres partagés et stockés dans les hiérarchies de l'outline Essbase.
Les calculs d'attribut commencent au niveau 0 et s'arrêtent au premier membre stocké. Par conséquent, si l'outline a placé un membre stocké entre deux membres partagés dans une hiérarchie d'outline, les résultats du calcul peuvent ne pas inclure le membre partagé supérieur.
Dans l'exemple suivant, lorsqu'un calcul d'attribut est effectué, le calcul commence par le niveau 0 Member 2 et s'arrête lorsqu'il rencontre le premier membre stocké, à savoir Member A. Par conséquent, le Membre 1 ne serait pas inclus dans le calcul.
Member 1 (stored)
Member A (stored)
Member 2 (shared)
Member B (stored)
Member 1 (shared member whose prototype member is Member 1 above)Si le membre 2 n'était pas partagé ou si le membre 1 n'avait pas de membre partagé correspondant ailleurs dans l'outline, les résultats du calcul ne seraient pas comme prévu.
Différences entre les membres d'attribut et non d'attribut de calcul
Pour rendre les agrégations de membres de dimension d'attribut cohérentes avec les agrégations de membres de dimension standard, envisagez de supprimer les membres partagés en double de la hiérarchie d'attributs ou de réviser l'outline Essbase pour éliminer les chemins d'agrégation multiples.
Le calcul des membres de dimension d'attribut fonctionne différemment du calcul des membres stockés ou Calcul dynamique dans les dimensions standard.
Lorsque Essbase agrège des membres dans des dimensions standard, la valeur d'un membre parent est basée sur l'agrégation des valeurs des membres enfant du membre parent, que les membres enfant soient des membres de niveau 0 ou supérieur. Toutes les valeurs de membre enfant contribuent à la valeur du membre parent.
Lorsque Essbase agrège des membres dans les dimensions d'attribut, pour chaque membre parent pour lequel une agrégation d'attributs est demandée, la liste des descendants est développée pour inclure les blocs de données de niveau 0 dépendants qui doivent être agrégés pour calculer la valeur parent.
Compte tenu de ces différences, le résultat de l'agrégation de membres de dimension d'attribut peut être différent du résultat de l'agrégation de membres de dimension standard, si des membres partagés sont impliqués et qu'il existe plusieurs chemins d'agrégation.
Pour contourner ce problème, supprimez les membres partagés en double sous la hiérarchie d'attributs d'agrégation ou remodelez l'outline afin qu'il n'y ait pas plusieurs chemins d'agrégation.