Dimensions et membres

Si vous comprenez les dimensions et les membres, vous êtes en bonne voie de comprendre la puissance d'une base de données multidimensionnelle.

Une dimension représente le niveau de consolidation le plus élevé dans l'outline de la base de données Essbase. L'outline présente les dimensions et les membres dans une structure arborescente pour définir une relation de consolidation hiérarchique.

Par exemple, Year est une dimension (de type Time) et Qtr1 est un membre :

Year Time
   Qtr1 (+)
      Jan (+)
......Feb (+)
......Mar (+)

Il existe deux types de dimension : les dimension standard et les dimension d'attribut.

  • Les dimensions standard représentent les composants de base d'un plan d'affaires et sont souvent liées à des fonctions de service. Dimensions standard typiques : Temps, Comptes, Ligne de produits, Marché et Division. Les dimensions changent moins fréquemment que les membres.

  • Les dimensions d'attribut sont associées aux dimensions standard. Les dimensions d'attribut permettent de regrouper et d'analyser les membres des dimensions standard en fonction de leurs attributs (caractéristiques). Par exemple, vous pouvez comparer la rentabilité des produits non caféinés qui sont emballés dans du verre à celle des produits non caféinés emballés dans des boîtes.

Les membres sont les composants individuels d'une dimension. Par exemple, Product A, Product B et Product C peuvent être membres de la dimension Product. Chaque membre porte un nom unique. Les données associées à un membre peuvent être stockées (appelées membre stocké dans ce chapitre) ou peuvent être calculées dynamiquement lorsqu'un utilisateur les extrait.

Hiérarchies d'outlines

Commencez à concevoir votre cube Essbase en définissant une outline. L'organisation de l'outline reflète la relation entre vos catégories de données en tant que hiérarchies structurelles et mathématiques.

Le développement de la base de données Essbase (cube) commence par la création d'une outline, qui atteint les objectifs suivants :

  • Définit les relations structurelles

  • Organise les données

  • Définit les consolidations et les relations mathématiques entre les éléments

Le concept de membres est utilisé pour représenter les hiérarchies de données. Chaque dimension se compose d'au moins un membre. Les membres, à leur tour, peuvent être constitués d'autres membres. Lorsque vous créez une dimension, vous définissez la manière de consolider les valeurs de ses membres individuels. Dans la structure arborescente de l'outline du cube, une consolidation est un groupe de membres dans une branche de l'arborescence.

Par exemple, de nombreuses entreprises résument leurs données mensuelles, regroupent leurs données mensuelles pour obtenir des chiffres trimestriels et regroupent leurs données trimestrielles pour obtenir des chiffres annuels. Les entreprises peuvent également résumer les données par code postal, ville, état et pays. Toute dimension peut être utilisée pour consolider des données à des fins de reporting.

Dans le cube Sample.Basic, par exemple, la dimension Year inclut des membres de trimestre : Qtr1, Qtr2, Qtr3 et Qtr4, chacun stockant les données d'un trimestre particulier, et Year, stockant les données récapitulatives de l'année. Le trimestre Qtr1 inclut les mois Jan, Feb et Mar, chacun stockant des données pour un mois, et le trimestre Qtr1, stockant des données récapitulatives pour le trimestre. De même, Qtr2, Qtr3 et Qtr4 incluent les membres qui représentent les mois individuels et le membre qui stocke les totaux trimestriels.

La structure hiérarchique suivante représente les consolidations de données et les relations dans Qtr1.

Year Time
   Qtr1 (+)
      Jan (+)
......Feb (+)
......Mar (+)

Certaines dimensions se composent de relativement peu de membres, tandis que d'autres peuvent avoir des centaines ou des milliers de membres.

Relations entre dimension et membre

L'organisation d'une outline Essbase est décrite à l'aide de la terminologie hiérarchique et familiale, car il s'agit d'un moyen facile de conceptualiser les rôles et les relations des membres au sein d'une dimension. Les termes hiérarchiques incluent les générations et les niveaux, qui sont analogues aux racines et aux feuilles. Les termes familiaux comprennent les parents, les enfants, les frères et sœurs, les descendants et les ancêtres.

Les sous-rubriques de cette section font référence au plan présenté ci-dessous pour décrire la position des membres dans le plan.

Figure 2-1 Numéros de génération et de niveau des membres


Cette image illustre les rôles et les relations des membres dans l'outline, comme décrit dans le texte qui suit l'image. Le numéro de génération et de niveau de chaque membre est étiqueté. Le niveau des mesures dépend de la branche.

Parents, enfants et frères et sœurs

L'outline illustre les relations parent, enfant et semblable suivantes :

  • Un parent est un membre dont le branchement est inférieur. Par exemple, Margin est un membre parent des ventes et du coût des marchandises vendues.

  • Un enfant est un membre qui a un parent au-dessus. Par exemple, Sales (Ventes) et Cost of Goods Sold (Coût des marchandises vendues) sont des enfants de la marge parent.

  • Les frères et sœurs sont des membres enfants du même parent immédiat, de la même génération. Par exemple, Sales et Cost of Goods Sold sont des frères et sœurs (ils ont tous les deux la marge parent), mais Marketing (au même niveau de la branche) n'est pas un frère, car son parent est Total Expenses.

Descendants et ancêtres

L'outline illustre les relations descendantes et ancestrales suivantes :

  • Les descendants sont des membres dans des branches situées sous un parent. Par exemple, Profit, Inventory et Ratios sont des descendants de Measures. Les enfants de Profit, Inventory et Ratios sont également des descendants de Measures.

  • Les ancêtres sont des membres situés dans des branches situées au-dessus d'un membre. Par exemple, Margin, Profit et Measures sont des ancêtres de Sales.

Racines et feuilles

L'outline illustre les relations entre les membres racine et feuille suivantes :

  • La racine est le membre supérieur d'une branche. Measures est la racine des valeurs Profit, Inventory et Ratios.

  • Les membres feuille n'ont pas d'enfants et sont également appelés membres de niveau 0. Par exemple, les membres Opening Inventory, Additions et Ending Inventory sont de niveau 0.

Générations et niveaux

Dans Essbase, les générations et les niveaux sont des indicateurs de la place d'un membre dans la structure de l'outline. Une génération indique la distance entre un membre et la racine de la dimension. Un niveau mesure le nombre de branches entre un membre et le membre le plus bas en dessous (une "feuille" hiérarchique).

Générations

La génération fait référence à un niveau de consolidation au sein d'une dimension. La branche racine de l'arbre est la génération 1. Les numéros de génération augmentent à mesure que vous avancez de la racine vers le membre feuille. Dans l'outline, Measures est la génération 1, Profit est la génération 2 et Margin est la génération 3. Tous les frères et sœurs de chaque niveau appartiennent à la même génération ; par exemple, Inventory et Ratios sont de génération 2.

Dans l'illustration suivante, une partie de la dimension Product est représentée, avec ses générations numérotées. Le produit est la génération 1, 100 la génération 2, 100-10 la génération 3, et 100-10-12 et 100-10-16 la génération 4.

Figure 2-2 Générations


Cette image illustre les numéros de génération des membres dans la dimension Product, comme décrit dans le texte précédant l'image.

Niveaux

Le niveau fait également référence à une branche au sein d'une dimension ; les niveaux inversent l'ordre numérique utilisé pour les générations. Les niveaux sont comptabilisés du membre feuille vers la racine. Le numéro de niveau racine varie en fonction de la profondeur de la branche. Dans l'illustration de l'outline au début de cette section, Ventes et Coût des marchandises vendues sont de niveau 0. Tous les autres membres feuille sont également de niveau 0. La marge est de niveau 1 et le profit de niveau 2. Notez que le nombre de mesures varie en fonction de la branche. Pour la branche des ratios, les mesures sont de niveau 2. Pour la branche Total Expenses, Measures est de niveau 3.

Dans l'illustration suivante, une partie de la dimension Produit est représentée, avec ses niveaux numérotés. 100 est le niveau 2, 100-10 est le niveau 1 et 100-10-12 et 100-10-16 sont le niveau 0.

Figure 2-3 Niveaux


Cette image illustre les numéros de niveau des membres dans la dimension Product, comme décrit dans le texte qui précède l'image.

Noms de génération et de niveaux

Pour faciliter la maintenance des rapports, vous pouvez affecter un nom à une génération ou à un niveau, puis utiliser ce nom comme raccourci pour tous les membres de cette génération ou de ce niveau. Etant donné que les modifications apportées à une outline sont automatiquement répercutées dans un état, lorsque vous utilisez des noms de génération et de niveau, vous n'avez pas besoin de modifier l'état si un nom de membre est modifié ou supprimé de l'outline de la base de données.

Formes de hiérarchie

Les hiérarchies dans Essbase peuvent être symétriques ou asymétriques.

Essbase gère certaines opérations différemment selon la forme de la hiérarchie. L'export de données tabulaires, certaines fonctions de calcul (y compris @ANCESTVAL) et le mappage de rapports d'exploration amont peuvent avoir des résultats différents lorsqu'une dimension contient des hiérarchies asymétriques.

Hiérarchies symétriques

Dans les hiérarchies symétriques, les membres portant le même numéro de niveau sont à la même profondeur dans l'outline. Par exemple, dans le schéma suivant, les membres 100-10 et 200-10 sont tous deux des membres de niveau 0, et tous deux des membres de génération 3 :


Arborescence hiérarchique symétrique. Le produit, le membre en haut, est la génération 1 et le niveau 2. Les enfants de Produit, 100 et 200 ans, sont de génération 2 et de niveau 1. Les enfants de 100 et 200, les membres 100-10, 100-20, 200-10 et 200-20, sont de génération 3 et de niveau 0.

Les numéros de génération commencent par 1 dans le nom de la dimension. Les numéros de génération supérieurs sont ceux qui sont les plus proches des membres feuille d'une hiérarchie.

Les numéros de niveau commencent par 0 dans la partie la plus profonde de la hiérarchie. Le numéro de niveau le plus élevé est un nom de dimension.

Hiérarchies asymétriques

Dans les hiérarchies asymétriques (ou irrégulières), le fait d'avoir le même numéro de niveau ne signifie pas que les membres sont à la même profondeur dans l'outline. Par exemple, dans le schéma suivant, les membres aa et f sont tous deux des membres de niveau 0, mais ils ne sont pas à la même profondeur :


Illustration de l'arborescence de membres d'une hiérarchie asymétrique. Measures, le membre le plus haut, correspond à la première génération et aux niveaux 2 et 3. Les enfants de Measures, Profit, Inventory et Ratios, correspondent à la deuxième génération et aux niveaux 1 et 2. Les membres a à h sont les enfants de Profit, Inventory et Ratios. Ils correspondent à la troisième génération et aux niveaux 0 et 1. Les membres aa, ab, ba, bb et bc sont les enfants de a et de b. Ils correspondent à la quatrième génération et au niveau 0.

Dimensions standard et dimensions d'attribut

Essbase comporte des dimensions standard et des dimensions d'attribut. Ce chapitre se concentre sur les dimensions standard, car Essbase n'alloue pas de stockage aux membres de dimension d'attribut. Au lieu de cela, il calcule dynamiquement les membres lorsque l'utilisateur interroge les données qui leur sont associées.

Une dimension d'attribut, qui constitue un type de dimension particulière, est associée à une dimension standard. Reportez-vous à Utilisation des attributs Essbase.

Dimensions dispersées et denses

La plupart des jeux de données des bases multidimensionnelles présentent deux caractéristiques :

  • Les données ne sont pas distribuées correctement et uniformément.

  • Les données n'existent pas pour la majorité des combinaisons de membres. Par exemple, tous les produits ne peuvent pas être vendus dans toutes les régions du pays.

Essbase divise les dimensions standard d'une application en deux types : dense et dispersé. Cette division permet à Essbase de gérer les données qui ne sont pas distribuées en douceur, sans perdre les avantages de l'accès aux données de type matrice. Essbase accélère l'extraction des données tout en minimisant les besoins en mémoire et en disque.

La plupart des bases de données multidimensionnelles sont intrinsèquement dispersées ; elles ne contiennent pas de valeurs de données pour la majorité des combinaisons de membres. Une dimension dispersée est une dimension dont le pourcentage de positions de données disponibles est faible.

Par exemple, l'outline de la base de données Sample.Basic de la figure 2-4 inclut les dimensions Année, Produit, Marché, Mesures et Scénario. Produit représente les unités de produit, Marché représente les régions géographiques dans lesquelles les produits sont vendus et Mesures représente les données de comptes. Parce que tous les produits ne sont pas vendus sur tous les marchés, le marché et le produit sont choisis comme des dimensions dispersées.

Les bases de données multidimensionnelles contiennent également des dimensions denses. Une dimension dense a une forte probabilité qu'une ou plusieurs cellules soient occupées dans chaque combinaison de dimensions. Par exemple, dans la base de données Sample.Basic, des données de compte existent pour presque tous les produits de tous les marchés, de sorte que Measures est choisi en tant que dimension dense. L'année et le scénario sont également choisis en tant que dimensions denses. Année représente le temps en mois et Scénario indique si les valeurs des comptes sont des valeurs budgétaires ou réelles.

Les dimensions d'attribut sont Caféiné, Date d'introduction, Onces, Type de conditionnement et Population. Reportez-vous à Utilisation des attributs Essbase.

Lorsqu'une base de données Essbase est stockée sur disque, le produit cartésien des combinaisons de membres denses forme des unités de stockage appelées blocs, et un bloc est écrit sur disque pour chaque combinaison de membres dispersés dans la base de données.

Figure 2-4 Exemple.Plan de base de données


Cette image présente un aperçu de la base de données Sample.Basic, comme décrit dans le texte précédant l'image.

Sélection de dimension dense et dispersée

Dans la plupart des ensembles de données, les données existantes ont tendance à suivre des modèles de densité et de dispersion prévisibles. Si vous correspondez correctement aux modèles, vous pouvez stocker les données existantes dans un nombre raisonnable de blocs de données assez denses, plutôt que dans de nombreux blocs de données très dispersés.

Par défaut, la nouvelle dimension Essbase est définie sur Réparti. Les dimensions d'attribut sont toujours des dimensions dispersées.

Pour vous aider à déterminer si les dimensions doivent être denses ou dispersées, Essbase fournit une option de configuration automatique dans les propriétés de l'outline.

Essbase peut formuler des recommandations pour la configuration de dimensions dispersées en fonction des facteurs suivants :

  • Balises de temps et de comptes sur les dimensions

  • Taille probable des blocs de données

  • Caractéristiques que vous attribuez aux dimensions

Vous pouvez appliquer une configuration recommandée ou désactiver la configuration automatique et définir manuellement la propriété dispersée ou dense pour chaque dimension. N'oubliez pas que vous ne pouvez associer des dimensions d'attribut qu'à des dimensions standard dispersées.

Remarques :

La configuration automatique des dimensions denses et dispersées ne fournit qu'une estimation. Il ne peut pas prendre en compte la nature des données que vous allez charger dans votre base de données ni les considérations relatives à plusieurs utilisateurs.

Configuration Dense-Sparse pour Sample.Basic

Considérons la base de données Sample.Basic, qui représente les données de The Beverage Company (TBC).

Parce que TBC ne vend pas tous les produits sur tous les marchés, l'ensemble de données est raisonnablement clairsemée. Les valeurs de données n'existent pas pour de nombreuses combinaisons de membres dans les dimensions Produit et Marché. Par exemple, si Caffeine Free Cola n'est pas vendu en Floride, les valeurs de données n'existent pas pour la combinaison Caffeine Free Cola (100-30) -> Florida, donc Product and Market sont des dimensions dispersées. Par conséquent, si aucune valeur de données n'existe pour une combinaison spécifique de membres dans ces dimensions, aucun bloc de données n'est créé pour la combinaison.

Cependant, envisagez des combinaisons de membres dans les dimensions Année, Mesures et Scénario. Les valeurs de données existent presque toujours pour certaines combinaisons de membres sur ces dimensions. Par exemple, des valeurs de données existent pour la combinaison de membres Ventes -> Janvier -> Réel, car au moins certains produits sont vendus en janvier. Ainsi, Year et, de même, Measures et Scenario sont des dimensions denses.

La configuration des dimensions standard dans la base de données Sample.Basic peut être résumée comme suit :

  • Les dimensions standard dispersées sont Product et Market.

  • Les dimensions standard denses sont Année, Mesures et Scénario.

Un bloc de données est créé pour chaque combinaison unique de membres dans les dimensions Produit et Marché (reportez-vous à Stockage de données). Chaque bloc de données représente les données des dimensions denses. Les blocs de données auront probablement peu de cellules vides.

Prenons l'exemple de la combinaison de membres dispersés Caffeine Free Cola (100-30), New York, dans la Figure 2-5 :

  • Si des données de comptes (représentées par la dimension Mesures) existent pour cette combinaison pour janvier, elles existent probablement pour février et pour tous les membres de la dimension Année.

  • Si une valeur de données existe pour un membre de la dimension Mesures, il est probable que d'autres valeurs de données de comptes existent pour d'autres membres de la dimension Mesures.

  • Si des valeurs de données de comptes réels existent, il est probable que des valeurs de données de comptes budgétaires existent.

    Figure 2-5 Bloc de données dense pour la base de données Sample.Basic


    Cette image illustre un bloc de données dense pour le cola sans caféine, comme décrit dans le texte précédant l'image.

Scénarios de sélection dense et dispersée

Dans les scénarios suivants, vous verrez comment une base de données est affectée lorsque vous sélectionnez différentes dimensions standard. Supposons que ces scénarios reposent sur des bases de données standard comportant au moins sept dimensions et plusieurs centaines de membres.

Scénario 1 : Toutes les dimensions standard dispersées

Si vous rendez toutes les dimensions dispersées, Essbase crée des blocs de données composés de cellules de données uniques contenant des valeurs de données uniques. Une entrée d'index est créée pour chaque bloc de données et, par conséquent, dans ce scénario, pour chaque valeur de données existante.

Cette configuration produit un index qui nécessite une grande mémoire. Plus il y a d'entrées d'index, plus Essbase recherche un bloc spécifique.

Figure 2-6 Base de données avec toutes les dimensions standard dispersées


Cette image montre comment les dimensions standard dispersées ont des index complexes, comme décrit dans le texte qui précède l'image.

Scénario 2 : Toutes les dimensions standard denses

Si vous rendez toutes les dimensions denses, Essbase crée une entrée d'index et un bloc dispersé volumineux. Dans la plupart des applications, cette configuration nécessite des milliers de fois plus de stockage que les autres configurations. Essbase doit charger l'intégralité de la base de données dans la mémoire lorsqu'il recherche une valeur de données, ce qui nécessite énormément de mémoire.

Figure 2-7 Base de données avec toutes les dimensions standard denses


Cette image montre comment les dimensions standard denses ont des index à entrée unique, comme décrit dans le texte qui précède l'image.

Scénario 3 : Dimensions standard denses et dispersées

En fonction de votre connaissance des données de votre entreprise, vous avez identifié toutes vos dimensions standard dispersées et denses.

Essbase crée des blocs denses qui peuvent s'insérer facilement dans la mémoire et crée un index relativement petit. Votre base de données s'exécute efficacement en utilisant un minimum de ressources.

Figure 2-8 Configuration idéale avec combinaison de dimensions denses et dispersées


Cette image montre comment l'utilisation d'une combinaison de dimensions standard dispersées et denses génère des blocs denses et un index relativement simple, comme décrit dans le texte qui précède l'image.

Scénario 4 : Problème multidimensionnel typique

Considérons une base de données avec quatre dimensions standard : Time, Accounts, Region et Product. Dans l'exemple suivant, Time et Accounts sont des dimensions denses et Region et Product sont des dimensions dispersées.

Les blocs de données bidimensionnels présentés dans l'image ci-dessous représentent les valeurs des dimensions denses : Time et Accounts. Les membres de la dimension Time sont J, F, M et Q1. Les membres de la dimension Comptes sont Rev, Exp et Net.

Figure 2-9 Bloc de données bidimensionnel pour le temps et les comptes


Cette image illustre un bloc de données pour les dimensions Temps et Comptes, comme décrit dans le texte qui précède l'image.

Essbase crée des blocs de données pour les combinaisons de membres dans les dimensions standard dispersées (à condition qu'au moins une valeur de données existe pour la combinaison de membres). Les dimensions dispersées sont Region et Product. Les membres de la dimension Region sont East, West, South et Total US. Les membres de la dimension Product sont Product A, Product B, Product C et Total Product.

L'image ci-dessous montre 11 blocs de données. Il n'existe aucune valeur de données pour le Produit A dans l'Ouest et le Sud, pour le Produit B dans l'Est et l'Ouest ou pour le Produit C dans l'Est. Par conséquent, Essbase n'a pas créé de blocs de données pour ces combinaisons de membres. Les blocs de données créés par Essbase ont peu de cellules vides. Cet exemple concentre efficacement toutes les données dispersées dans l'index et concentre toutes les données dans des blocs entièrement utilisés. Cette configuration permet un stockage et une extraction efficaces des données.

Figure 2-10 Blocs de données créés pour les membres dispersés dans la région et le produit


Cette image illustre les blocs de données créés pour les membres dispersés des dimensions Region et Product, comme décrit dans le texte qui précède l'image.

Ensuite, envisagez une inversion des sélections de dimension dense et dispersée. Dans l'exemple suivant, Region et Product sont des dimensions denses et Time et Accounts sont des dimensions dispersées.

Dans l'image ci-dessous, les blocs de données bidimensionnels représentent les valeurs des dimensions denses : Region et Product. Dans la région West, les données du produit A et du produit B ne sont pas disponibles. Les données ne sont pas non plus disponibles pour Total Product aux Etats-Unis.

Figure 2-11 Bloc de données bidimensionnel pour la région et le produit


Cette image illustre un bloc de données créé pour les membres denses des dimensions Region et Product, comme décrit dans le texte précédant l'image.

Essbase crée des blocs de données pour les combinaisons de membres dans les dimensions standard dispersées (à condition qu'au moins une valeur de données existe pour la combinaison de membres). Les dimensions standard dispersées sont Time et Accounts.

L'image ci-dessous montre 12 blocs de données. Les valeurs de données existent pour toutes les combinaisons de membres dans les dimensions Temps et Comptes. Par conséquent, Essbase crée des blocs de données pour toutes les combinaisons de membres. Comme les valeurs de données n'existent pas pour tous les produits de toutes les régions, les blocs de données contiennent de nombreuses cellules vides. Les blocs de données contenant de nombreuses cellules vides stockent les données de manière inefficace.

Figure 2-12 Blocs de données créés pour les membres dispersés dans les temps et les comptes


Cette image illustre les blocs de données créés pour les membres dispersés des dimensions Time et Accounts, comme décrit dans le texte qui précède l'image.