Ordre de calcul et ordre de résolution dans les cubes ASO

L'ordre de calcul des cubes en mode "aggregate storage" (ASO) Essbase diffère de celui des cubes en mode "block storage". Les hiérarchies stockées et les dimensions d'attribut sont consolidées, puis les hiérarchies dynamiques sont évaluées en fonction d'un ordre de résolution défini.

Pour les cubes en mode "aggregate storage", Essbase calcule les données dans l'ordre suivant :

  1. Agrége les membres des hiérarchies stockées et des dimensions d'attribut. L'ordre dans lequel les membres et les dimensions sont agrégés est optimisé en interne et varie en fonction de la nature de l'outline du cube et des agrégations existantes. Etant donné que l'agrégation est additive, l'ordre dans lequel Essbase agrège les dimensions et les membres n'affecte pas les résultats.

    L'ordre d'agrégation interne d'un cube en mode "aggregate storage" n'étant pas prévisible, les erreurs d'arrondi inhérentes ne sont pas non plus prévisibles. Ces erreurs d'arrondi sont un comportement attendu dans le calcul informatique et sont extrêmement faibles par rapport aux valeurs de données concernées.

  2. Calcule les membres et les formules de dimension de hiérarchie dynamique. L'ordre dans lequel les membres et les formules sont évalués est défini par la propriété d'ordre de résolution, que vous pouvez définir pour chaque membre ou dimension. L'ordre de calcul peut affecter les résultats du calcul.

Propriété de commande de résolution

Le concept d'ordre de résolution s'applique à l'exécution des requêtes. Lorsqu'une cellule est évaluée dans une requête multidimensionnelle, l'ordre dans lequel les calculs doivent être résolus peut être ambigu. Pour supprimer toute ambiguïté, vous pouvez utiliser la propriété d'ordre de résolution pour spécifier la priorité de calcul requise.

Remarques :

Il est recommandé de spécifier l'ordre de résolution en définissant la propriété d'ordre de résolution au niveau du membre ou de la dimension. Les membres sans formule qui ne disposent pas d'un ordre de Résolution indiqué héritent du même ordre de Résolution que leur dimension. Les membres dont les formules n'ont pas d'ordre de résolution spécifié ont un ordre de résolution égal à zéro.

Pour modifier l'ordre de Résolution, utilisez l'éditeur d'outline dans l'interface Web d'Essbase ou utilisez Smart View. Pour spécifier l'ordre de résolution d'un membre calculé, vous pouvez utiliser le paramètre solve_order dans la section Avec section d'une requête MDX.

La valeur de la propriété d'ordre de résolution détermine la priorité avec laquelle Essbase calcule les formules. Les formules des membres présentant un ordre de résolution donné sont calculées dans l'ordre croissant. Vous pouvez définir un ordre de résolution compris entre 0 et 127. La valeur par défaut est 0.

Vous pouvez indiquer l'ordre de résolution au niveau du membre ou de la dimension. Essbase utilise les informations suivantes pour définir la priorité des calculs :

  1. Ordre de résolution des membres

  2. L'ordre de résolution des dimensions (les membres sans formule pour lesquels vous n'indiquez pas d'ordre de résolution des membres héritent de l'ordre de résolution de leur dimension). Les membres avec des formules pour lesquelles vous n'indiquez pas d'ordre de résolution de membre ont un ordre de résolution égal à zéro.)

    Si plusieurs membres ont le même ordre de résolution, les membres sont évalués dans l'ordre inverse dans lequel leurs dimensions apparaissent dans l'outline. Le membre qui apparaît ultérieurement dans l'outline est prioritaire.

    L'ordre de calcul de la situation d'égalité est différent pour les membres calculés définis dans une requête MDX pour les cubes en mode "block storage".

    Remarques :

    Lorsqu'une formule d'un membre est dépendante de la valeur d'un autre membre, le membre avec la formule doit comporter un ordre de réponse supérieur à celui de celui du membre duquel il dépend. Par exemple, dans l'outline ASOSamp.Basic, le nombre moyen d'unités/de transactions dépend de la valeur des unités et des transactions. La moyenne des unités/transactions doit avoir un ordre de résolution supérieur à celui des unités et des transactions.

Exemple d'utilisation de la propriété Solve Order

L'exemple suivant est basé sur le cube ASOSamp.Basic. Pour supprimer toute ambiguïté dans les résultats de requête, l'exemple utilise la propriété d'ordre de résolution pour spécifier la priorité de calcul requise.

La requête de feuille de calcul présentée ci-dessous extrait les données relatives au nombre d'unités vendues et au nombre de transactions pour janvier de l'année en cours et pour janvier de l'année précédente. Le membre Variance affiche la différence entre l'année en cours et l'année précédente. Le membre Moyenne unités/transaction affiche un ratio du nombre d'unités vendues par transaction.

Figure 37-5 Résultats de la requête de feuille de calcul sur le cube ASOSamp.Basic montrant l'écart entre deux ratios (C12)


Cette image présente les résultats d'une requête de feuille de calcul, comme décrit dans le texte précédant l'image.

L'illustration suivante présente l'outline du cube pour ces membres et les formules appliquées aux membres Variance et Average Units/Transaction.

Figure 37-6 Cube ASOSamp.Basic affichant les dimensions Mesures, Années et Temps


Cette image présente un contour, comme décrit dans le texte précédant l'image.

Lors du calcul de la variance des unités moyennes par transaction (cellule C12 dans l'exemple de la feuille de calcul), le résultat peut être la variance entre les deux ratios, ou le résultat peut être le rapport des deux écarts. Le résultat varie selon que Essbase donne la priorité à la formule Variance ou à la formule Moyenne unités/transaction.

La valeur de la propriété d'ordre de résolution, qui est associée aux membres de l'outline, détermine la priorité avec laquelle Essbase évalue les formules. Plus le paramètre d'ordre de résolution est élevé, plus le membre est calculé dans l'ordre. Par exemple, une formule avec un ordre de Résolution de 1 est résolue avant un membre avec un ordre de Résolution de 2.

Dans l'exemple, si le membre Variance a un ordre de résolution inférieur à celui du membre Average Units/Transaction, la formule du membre Variance est prioritaire et le résultat est l'écart entre deux ratios. C'est le cas dans le cube ASOSamp.Basic, car l'ordre de résolution du membre Variance est 10 et l'ordre de résolution du membre Moyenne unités/transaction est 20. La formule sur Variance est prioritaire car le membre Variance a un ordre de résolution inférieur. Le résultat de la cellule C12 de la requête dans l'exemple de la feuille de calcul est la variance entre les deux ratios, comme indiqué dans le tableau ci-dessous :

Tableau 37-4 Utilisation de la propriété d'ordre de résolution pour spécifier la variance entre deux ratios

Membre Ordre de résolution Formule Résultat de l'intersection de l'écart et des unités/transactions moyennes (cellule C12)

Variance

10

Année actuelle - Année précédente

Moyenne des unités/transaction de l'année en cours - Moyenne des unités/transaction de l'année précédente

0,94894382 (cellule C6) - 0,954252111 (cellule C9) = -0,005308291 (cellule C12)

Moyenne des unités/transaction

20

Unités/transactions

Sinon, si vous modifiez le cube ASOSamp.Basic et que vous attribuez au membre Average Units/Transaction un ordre de résolution inférieur à celui du membre Variance, la formule du membre Average Units/Transaction est prioritaire et le résultat est le ratio de deux écarts, comme indiqué dans le tableau et l'exemple de feuille de calcul ci-dessous :

Tableau 37-5 Utilisation de la propriété d'ordre de résolution pour spécifier le ratio de deux écarts

Membre Ordre de résolution Formule Résultat de l'intersection de l'écart et des unités/transactions moyennes (cellule C12)

Variance

20

Année actuelle - Année précédente

Ecart (année en cours par rapport à l'année précédente) des unités / écart des transactions

10585 (cellule C10) / 11340 (cellule C11) = 0,933421517 (cellule C12)

Moyenne des unités/transaction

10

Unités/transactions

Figure 37-7 Résultats de la requête de feuille de calcul sur le cube ASOSamp.Basic montrant le ratio de deux écarts (C12)


Cette image présente les résultats d'une requête de feuille de calcul, comme décrit dans le texte précédant l'image.