Mesures de solde de temps et de flux dans les dimensions de comptes ASO

Les propriétés d'équilibre temps sur les cubes en mode "aggregate storage" (ASO) Essbase fournissent des calculs intégrés dans la dimension Temps. Les balises de flux vous aident à optimiser le calcul des comptes liés au temps. Une mesure de flux est un membre de la dimension Comptes non signé qui stocke des valeurs périodiques et des valeurs de cumul annuel.

Utiliser les balises d'équilibre temps dans les dimensions de comptes ASO

Vous pouvez définir des propriétés d'équilibre temps sur les dimensions Comptes en mode "aggregate storage" afin de fournir des calculs intégrés le long de la dimension Temps. Cela permet d'économiser du temps et des performances lors de l'utilisation de formules de membre pour réaliser la fonctionnalité d'équilibre temps.

Les propriétés d'équilibre temps suivantes sont prises en charge sur les membres de dimension Comptes stockés ou porteurs de formules :

  • Solde de temps en premier, Solde de temps en dernier, Solde de temps moyen

  • IGNORER AUCUN, IGNORER LES ÉLÉMENTS MANQUANTS

Prenons l'exemple d'une mesure stockée telle que Headcount dans une application de ressources humaines. Dans une hiérarchie Année-Trimestre-Mois, les données d'effectif sont chargées au niveau du mois.

La valeur d'effectif annuel ou trimestriel souhaitée n'est pas la somme de ses mois ; elle doit plutôt être la dernière valeur enregistrée au cours d'une période.

Marquer l'effectif comme solde de temps en dernier avec SKIPMISSING signifie que, pour l'année 2005, sa valeur est la dernière valeur non vide de l'effectif pour ses mois. Si Dec a une valeur d'effectif non manquante, cette valeur sera renvoyée ; sinon, la valeur Nov sera vérifiée et renvoyée si elle n'est pas manquante.

Si un membre portant une formule a une balise d'équilibre temps, la formule est exécutée uniquement pour les membres de niveau 0, et la dimension Temps est agrégée en fonction de la balise d'équilibre temps.

Les balises d'équilibre temps fournissent un calcul intégré dans la dimension Temps. Pour effectuer d'autres calculs basés sur le temps à l'aide de formules, telles que les moyennes cumulées de la période et glissantes, vous pouvez créer une dimension nommée TimeView et écrire toutes les formules basées sur le temps sur cette dimension. Vous pouvez ainsi utiliser la fonctionnalité de calcul d'équilibre temps sans perdre la possibilité d'effectuer d'autres calculs basés sur le temps.


Cette image présente un profil dans lequel Headcount est marqué avec les propriétés TB Last et Skip Missing time-balance.

Utiliser des balises de flux dans les dimensions de comptes ASO

Vous pouvez utiliser des mesures de flux pour optimiser le calcul des comptes temporels dans un cube en mode "aggregate storage". Une mesure de flux est un membre de la dimension Accounts non signé qui stocke les valeurs périodiques et les valeurs de cumul annuel dans l'outline.

L'exemple suivant décrit le problème à résoudre avec les mesures de flux. Supposons que vous ayez des chiffres sur les ventes et les acquisitions pour les 12 mois. Vous souhaitez effectuer une agrégation pour alimenter le stock de début de chaque mois.

Tableau 37-6 Calcul des stocks

- Sales Ajouts Inventaire
Jan 5 1 50
Feb 6 3 46
Mar 4 2 43
Avr 7 0 41
... ... ... ...

Pour calculer sa valeur, vous devez utiliser une formule MDX sur le membre Stock de début. Sans mesures de flux, pour obtenir l'inventaire de début de chaque mois, le moteur de calcul devrait réitérer la formule MDX de manière exponentielle.

Inventory = SUM(MemberRange(Jan:Time.CurrentMember), (Additions - Sales)) + Beg_Inventory

Pour optimiser l'exemple illustré, affectez au membre Inventory la formule (Addition – Sales) et marquez le membre en tant que flux, à l'aide de l'éditeur d'outline de l'interface Web Essbase.


Option de mesure de flux dans l'éditeur d'outline pour un cube en mode "aggregate storage".

Avant de marquer un membre comme Flow, vérifiez qu'il :

  • est membre de la dimension Accounts.

  • a une formule

  • a une balise Time Balance

Restrictions sur les hiérarchies alternatives pour les mesures de solde de temps et de flux

Si des hiérarchies alternatives sont utilisées dans la dimension Temps en mode "aggregate storage", les restrictions suivantes s'appliquent lors de l'utilisation des balises Flow et Time Balance sur la dimension Comptes :

  1. Le niveau partagé entre les hiérarchies de temps alternatifs doit être de niveau 0.

  2. L'ordre des membres au niveau partagé entre les hiérarchies de temps de remplacement doit être le même dans toutes les hiérarchies de remplacement.

  3. Le nombre de partages d'un membre stocké ne doit pas dépasser celui de son frère précédent. Par semblable précédent, on entend le membre stocké précédent dans l'outline, qui se trouve à la même génération.

    Par exemple, supposons ce qui suit : Les hiérarchies alternatives ne sont pas valides, car le nombre d'actions du mois d'avril (3) est supérieur au nombre d'actions du mois de mars (1).


    Plan présentant une dimension Year avec une hiérarchie alternative contenant des membres partagés.

Agréger les mesures marquées d'équilibre temps

Utilisez la fonction Agréger MDX pour agréger les mesures balisées avec des balises d'équilibre temps.

Effet des calculs d'attribut sur les mesures d'équilibre temps dans les cubes ASO

La logique de calcul suivante s'applique si

  1. L'outline en mode "aggregate storage" contient une dimension temps ou une dimension date-heure avec une ou plusieurs dimensions d'attribut ou d'attribut lié.

  2. Vous exécutez des interrogations sur les mesures étiquetées d'équilibre temps.

Si les cas ci-dessus sont tous deux vrais, la sémantique MDX Aggregate() est utilisée pour évaluer les cellules.

Prenons par exemple un scénario dans lequel :

  • Year est une dimension de type date/heure avec une hiérarchie de niveau jour.

  • Holiday est une dimension d'attribut sur Year, avec chaque date marquée avec Holiday_TRUE ou Holiday_FALSE.

  • L'ouverture du stock est marquée comme Solde horaire en premier.

La valeur de (Year, Holiday_TRUE, [Opening Inventory]) est évaluée selon la logique MDX suivante :

Aggregate( {Set of dates that are holidays in Year}, [Opening Inventory])