Définir les calculs Essbase

Les calculs sont essentiels pour dériver certains types de données. Les données dérivées d'un calcul sont appelées données calculées, tandis que les données source non calculées sont appelées données d'entrée. Découvrez comment utiliser la consolidation, les balises de compte, les formules, les fonctions et le calcul dynamique pour définir la logique de calcul optimale pour votre base de données Essbase.

Les rubriques suivantes utilisent les dimensions Produit et Mesures de l'application à confirmer pour illustrer plusieurs types de calculs courants trouvés dans de nombreuses bases de données Essbase.

Consolidation des dimensions et des membres

Lorsque vous définissez des membres de dimensions standard, Essbase les marque automatiquement avec l'opérateur de consolidation + (signe plus représentant l'addition), ce qui signifie que les membres de consolidation sont ajoutés pour dériver la valeur de leur parent. Le cas échéant, vous pouvez modifier une propriété de consolidation de membre.

La consolidation est le calcul le plus fréquemment utilisé dans Essbase. Cette rubrique utilise la dimension Produit pour illustrer les consolidations.

L'application TBC dispose de plusieurs chemins de consolidation :

  • Les produits individuels sont regroupés en familles de produits, et les familles de produits sont regroupées en produits. L'outline à confirmer requiert également plusieurs chemins de consolidation ; certains produits doivent être regroupés en plusieurs catégories.

  • Les États se regroupent en régions et les régions se regroupent en marchés.

  • Les mois sont consolidés en trimestres et les trimestres en année.

Les opérateurs de consolidation définissent la façon dont Essbase regroupe les données de chaque membre d'une branche vers le parent. Par exemple, à l'aide de l'opérateur d'addition (+) par défaut, Essbase ajoute 100‑10, 100‑20 et 100‑30 et stocke le résultat dans son parent, 100, comme indiqué ci-dessous.

Figure 1-7 Dimension Produit à confirmer


Cette image présente les opérateurs de consolidation dans un profil, comme décrit dans le texte précédant l'image.

La dimension Product contient principalement des opérateurs d'addition (+), qui indiquent que chaque groupe de membres est ajouté et regroupé dans le parent. Diet possède un opérateur tilde (~), qui indique qu'Essbase n'inclut pas le membre Diet dans la consolidation vers le parent Product. Le membre Diet se compose entièrement de membres qui sont partagés. Le groupe de gestion des produits à confirmer veut être en mesure d'isoler les boissons Diet dans les rapports, de sorte que TBC a créé un membre Diet distinct qui n'a pas d'impact sur la consolidation globale.

Effet de la position et de l'opérateur sur la consolidation

Essbase calcule les données d'une branche par ordre descendant. Par exemple, si vous avez, dans l'ordre, deux membres balisés avec un opérateur d'addition (+) et un troisième membre balisé avec un opérateur de multiplication (*), Essbase ajoute les deux premiers et multiplie cette somme par le troisième.

Etant donné qu'Essbase commence toujours par le membre supérieur lors de la consolidation, l'ordre et les libellés des membres sont importants.

Consolidation des membres communs

Les membres partagés affectent également les chemins de consolidation. Le concept de membre partagé permet à deux membres portant le même nom de partager les mêmes données. Le membre partagé stocke un pointeur vers les données contenues dans l'autre membre. Par conséquent, Essbase ne stocke les données qu'une seule fois. Les membres partagés doivent se trouver dans la même dimension. Les données peuvent être partagées par plusieurs membres.

Liste de contrôle pour la consolidation

Utilisez la liste de contrôle suivante pour définir la consolidation :

  • Avez-vous identifié les consolidations dans l'outline ?

  • Avez-vous identifié chaque membre avec l'opérateur de consolidation approprié ?

  • Avez-vous spécifié une balise de membre partagé pour les membres désignés ?

  • Les membres partagés seraient-ils plus efficaces s'ils étaient conçus dans une dimension d'attribut (autre que partagée) ?

Balises et opérateurs sur l'exemple de dimension Mesures

La dimension Measures, qui est marquée Accounts, est la dimension la plus complexe de l'outline fictive à confirmer, car elle utilise à la fois les données temporelles et les données de comptes. Il contient également des formules et des balises spéciales pour aider Essbase à calculer l'outline.

Examinez les balises de dimension Measures définies par TBC. De nombreuses propriétés de la dimension Mesures sont abordées dans les rubriques précédentes : les opérateurs d'addition (+), de soustraction (–) et d'absence de consolidation (~), et les balises de comptes et de libellés uniquement :

  • Les noms de membre Inventory et Ratios aident l'utilisateur à naviguer dans les données. Ils ne contiennent pas de données et reçoivent donc une balise label only.

  • La dimension Measures elle-même comporte une balise label only. Certains membres de Mesures ont une balise Calcul dynamique.

  • Certains membres de Mesures ont une balise d'équilibre temps (To First ou TB Last).

Figure 1-8 Dimension Mesures à confirmer


Cette image présente les propriétés des membres, telles que les opérateurs de consolidation et les balises, dans la dimension Mesures à confirmer, comme décrit dans le texte précédant l'image.

Calculs de dimension Comptes

La dimension Essbase marquée comme comptes peut utiliser des propriétés spéciales qui ont un impact sur les calculs. Les balises ou propriétés d'équilibre temps fournissent des instructions à Essbase sur le calcul des comptes qui dépendent de la période. Les propriétés de reporting des écarts définissent la façon dont Essbase calcule la différence entre les données réelles et les données budgétaires.

Cette rubrique présente deux formes de calcul pour une dimension marquée en tant que comptes.

Propriétés de solde suivant période

Pour utiliser des propriétés/balises d'équilibre temps, vous devez avoir une dimension Balisée en tant que comptes et une dimension Balisée en tant que temps. La première, la dernière, la moyenne et la dépense sont disponibles exclusivement pour les membres de la dimension Comptes.

Dans la dimension Mesures à confirmer, les données Inventaire d'ouverture représentent l'inventaire que TBC détient au début de chaque mois. La valeur trimestrielle du stock d'ouverture est égale à la valeur d'ouverture pour le premier mois du trimestre. L'ouverture du stock nécessite l'étiquette d'équilibre temps, TB en premier.

Les données de fin d'inventaire représentent l'inventaire que TBC transporte à la fin de chaque mois. La valeur trimestrielle du stock de fin est égale à la valeur de fin du dernier mois du trimestre. La fin du stock nécessite la balise d'équilibre temps, TB last. Le tableau suivant définit les balises d'équilibre temps pour la dimension Comptes.

Tableau 1-6 Balises de membre de comptes

Balises Description

Dernier solde de temps

La valeur du dernier membre enfant est transmise au parent. Par exemple, March est reporté à Qtr1.

Premier solde de temps

La valeur du premier enfant est transmise au parent. Par exemple, Jan est transféré à Qtr1.

Dans le tableau suivant, Qtr1 (deuxième colonne de droite) et Year (colonne la plus à droite) indiquent comment la consolidation dans la dimension Temps est affectée par les propriétés d'équilibre temps dans la dimension Comptes. Les données sont affichées pour le premier trimestre uniquement.

Tableau 1-7 Consolidations à confirmer affectées par les propriétés d'équilibre temps

Dimensions Jan Feb Mar Qtr1 Year

Membre de comptes1

11

12

13

36

T1 + T2 + T3 + T4

Membre2 (To en premier)

20

25

21

20

20

Membre3 des comptes (dernier To)

25

21

30

30

Valeur du trimestre 4

Normalement, le calcul d'un parent dans la dimension Temps est basé sur la consolidation et les formules des enfants de ce parent. Toutefois, si un membre d'une branche Accounts est marqué comme TB First, tout parent de la dimension Temps correspond au membre marqué comme TB First.

Pour consulter des exemples, reportez-vous à la section Time Balance Properties.

Calcul de la variance

L'une des exigences d'Essbase à confirmer est la possibilité d'effectuer des rapports d'écart sur les données réelles et budgétaires. Le calcul de la déclaration d'écart exige que tout article représentant une dépense pour la société ait une étiquette de note de frais. Les membres Inventory, les membres Total Expense et le membre COGS reçoivent chacun une étiquette de note de frais pour la déclaration des écarts.

Essbase fournit deux propriétés de reporting des écarts : Charges et Non Charges (valeur par défaut). Les propriétés de rapport d'écart définissent la manière dont Essbase calcule la différence entre les informations réelles et budgétées dans les membres dont la fonction @VAR ou @VARPER comprend les formules de membre.

Lorsque vous marquez un membre comme dépense, la fonction @VAR calcule Budget – Actual. Par exemple, si le montant budgété est de 100 $ et que le montant réel est de 110 $, l'écart est de –10.

Sans l'étiquette de note de frais, la fonction @VAR calcule Réel - Budget. Par exemple, si le montant budgété est $100 et que le montant réel est $110, l'écart est de 10.

Formules et fonctions

Les formules calculent les relations entre les membres dans l'outline Essbase. Vous pouvez appliquer des formules à des membres ou dans un script de calcul. Les fonctions sont des sous-programmes prédéfinis qui effectuent des calculs spécialisés, renvoyant des ensembles de membres ou des valeurs de données. Les formules comprennent des opérateurs et des fonctions, ainsi que des noms de dimension, des noms de membre et des constantes numériques.

Essbase prend en charge les opérateurs suivants :

  • Opérateurs mathématiques qui effectuent des opérations arithmétiques

  • Opérateurs conditionnels, qui créent des conditions logiques dans les calculs

  • Opérateurs interdimensionnels, qui pointent vers les valeurs de données de combinaisons de membres de base de données spécifiques

Les fonctions Essbase incluent plus de 175 routines prédéfinies pour étendre les fonctionnalités de calcul d'Essbase. Essbase inclut les fonctions suivantes :

  • Fonctions booléennes, qui fournissent un test conditionnel en renvoyant une valeur TRUE ou FALSE

  • Fonctions mathématiques qui effectuent des calculs mathématiques spécialisés

  • Les fonctions relationnelles, qui recherchent des valeurs de données dans une base de données au cours d'un calcul basé sur la position du membre actuel.

  • Fonctions de plage, qui déclarent une plage de membres comme argument d'une autre fonction ou d'une commande

  • Fonctions financières qui effectuent des calculs financiers spécialisés

  • Fonctions de jeu de membres, qui sont basées sur un membre spécifié et qui génèrent des listes de membres

  • Fonctions d'allocation, qui répartissent les valeurs entrées au niveau parent entre les membres enfant

  • Fonctions de prévision, qui manipulent les données à des fins de lissage, d'interpolation de données ou de calcul de valeurs futures

  • Fonctions statistiques, qui calculent des statistiques avancées

  • Fonctions de date et d'heure qui utilisent des caractéristiques de date et d'heure dans les formules de calcul

  • Fonctions de mode de calcul, qui indiquent le mode de calcul utilisé par Essbase pour calculer une formule

La dimension Mesures utilise les formules suivantes :

  • Marge = Ventes - CMV

  • Total des dépenses = Marketing + Paie + Divers

  • Profit = Marge – Total des dépenses

  • % profit = % profit ventes

  • % marge = % marge ventes

  • Bénéfice par once = Bénéfice / @ATTRIBUTEVAL(@NAME(Ounces))

Essbase utilise des opérateurs de consolidation pour calculer les membres Margin, Total Expenses et Profit. La formule Margin% utilise un opérateur %, ce qui signifie "express Margin as a pourcentage of Sales". La formule Profit% utilise le même opérateur %. La formule Bénéfice par once utilise un opérateur de division (/) et une fonction (@ATTRIBUTEVAL) pour calculer la rentabilité par once pour les produits dimensionnés en onces.

Remarques :

Dans la formule Profit per Ounce, la fonction @NAME est également utilisée pour traiter la chaîne "Ounces" pour la fonction @ATTRIBUTEVAL.

Pour obtenir la liste complète des opérateurs, des fonctions et de la syntaxe, reportez-vous à Liste des fonctions de calcul. Reportez-vous également à Développement de formules pour les cubes de stockage de blocs.

Calculs dynamiques

Lorsque vous concevez des calculs de base de données, vous pouvez définir un membre en tant que membre Calcul dynamique. Lorsque vous marquez un membre comme calcul dynamique, Essbase calcule les combinaisons de ce membre lorsque vous extrayez les données, au lieu de précalculer les combinaisons de membres lors du calcul standard de la base de données.

Les calculs dynamiques réduisent le temps de calcul normal de la base de données, mais peuvent augmenter le temps d'extraction des valeurs de données calculées dynamiquement.

Dans l'outline suivante, la dimension Mesures TBC contient plusieurs membres marqués comme Calcul dynamique : Profit, Margin, Total Expenses, Margin % et Profit %.

Figure 1-9 Dimension Mesures à confirmer, balises Calcul dynamique


Cette image présente les membres de la dimension Mesures à confirmer qui sont balisés en tant que calcul dynamique, comme décrit dans le texte précédant l'image.

Lorsqu'un calcul global de la base de données est effectué, les membres Calcul dynamique et les formules correspondantes ne sont pas calculés. Ces membres sont calculés lorsqu'un utilisateur les interroge, par exemple à partir de Smart View. Essbase ne stocke pas les valeurs interrogées ; il recalcule les valeurs pour chaque requête suivante.

Pour déterminer quand calculer les valeurs de données dynamiquement, tenez compte de vos priorités dans les domaines suivants :

  • Temps de calcul normal optimal (calcul par lots)

  • Utilisation faible de l'espace disque

  • Réduction du temps de restructuration de la base de données

  • Récupération rapide des données pour les utilisateurs

  • Réduction du temps de sauvegarde

Reportez-vous à Calcul dynamique des valeurs de données.

Calculs à deux passages

La propriété à deux passes fonctionne uniquement sur les membres de la dimension Essbase balisés en tant que comptes et sur les membres balisés en tant que calcul dynamique. Ce libellé indique que certaines formules de membre doivent être calculées deux fois pour produire la valeur souhaitée.

Dans la base de données TBC, Margin % et Profit % contiennent le libellé à deux passes.

L'exemple suivant illustre pourquoi le pourcentage de profit (basé sur la formule Profit % Sales) comporte une balise à deux passes. Les tables comportent cinq colonnes (les en-têtes de colonne sont étiquetés de gauche à droite comme Dimension, Jan, Feb, Mar et Qtr1) et trois lignes (étiquetées comme Profit, Sales et Profit %). Jan, Feb, Mar et Qtr1 sont membres de la dimension Year. Profit, Sales et Profit % sont membres de la dimension Measures (accounts).

L'exemple suivant définit les données initiales à charger dans Essbase. Les valeurs de données pour Profit -> Jan, Profit -> Feb et Profit -> Mar sont 100. La valeur de données pour Sales -> Jan, Sales -> Feb et Sales -> Mar est 1000.

Tableau 1-8 Données chargées dans Essbase

Dimension Jan Feb Mar Qtr1

Profit

100

100

100

S/O

Sales

1 000

1 000

1 000

S/O

% profit

S/O

S/O

S/O

S/O

Tout d'abord, Essbase calcule la dimension Mesures. Dans le tableau suivant, les valeurs de données pour Profit % -> Jan, Profit % -> Feb et Profit % -> Mar sont 10 %.

Tableau 1-9 Données après le calcul de la dimension Mesures par Essbase

Dimension Jan Feb Mar Qtr1

Profit

100

100

100

 

Sales

1 000

1 000

1 000

 

% profit

10%

10%

10%

S/O

Ensuite, Essbase calcule la dimension Année. Les données sont regroupées dans la dimension. Dans le tableau suivant, les valeurs de données pour Profit -> Qtr1 (300) et Sales -> Qtr1 (3000) sont correctes. La valeur de données pour Profit % -> Qtr1 (30 %) est incorrecte car Profit % est marqué comme un calcul à deux passes.

Tableau 1-10 Données après calcul de la dimension Year par Essbase

Dimension Jan Feb Mar Qtr1

Profit

100

100

100

300

Sales

1 000

1 000

1 000

3 000

% profit

10%

10%

10%

30%

Essbase recalcule ensuite le pourcentage de profit à chaque occurrence du pourcentage de profit membre. Dans le tableau suivant, la valeur de données pour Profit % -> Qtr1 (10 %) est correcte après la deuxième passe.

Tableau 1-11 Données après le recalcul du pourcentage de profit par Essbase

Dimension Jan Feb Mar Qtr1

Profit

100

100

100

300

Sales

1 000

1 000

1 000

3 000

% profit

10%

10%

10%

10%

Liste de contrôle pour les calculs

Utilisez la liste de contrôle suivante lorsque vous concevez un calcul en mode "block storage" (BSO) Essbase :

  • La logique de calcul par défaut donne-t-elle des résultats précis ?

  • Quels membres nécessitent des formules ?

  • Quels membres nécessitent des balises d'équilibre temps ?

  • Quels membres nécessitent un rapport d'écart ?

  • Quels membres nécessitent un calcul à deux passes ?

  • Quels membres peuvent être marqués comme calcul dynamique ?