Berechnungsreihenfolge und Lösungsreihenfolge in ASO-Cubes

Die Berechnungsreihenfolge für Essbase Aggregate Storage-(ASO-)Cubes unterscheidet sich von der Berechnungsreihenfolge für Block Storage-Cubes. Gespeicherte Hierarchien und Attribute-Dimensionen werden konsolidiert und dann dynamische Hierarchien basierend auf einer definierten Lösungsreihenfolge ausgewertet.

Bei Aggregate Storage-Cubes berechnet Essbase Daten in der folgenden Reihenfolge:

  1. Aggregiert Elemente gespeicherter Hierarchien und Attribute-Dimensionen. Die Reihenfolge, in der Elemente und Dimensionen aggregiert werden, wird intern optimiert und ändert sich entsprechend der Art der Cube-Modellstruktur und der vorhandenen Aggregationen. Da die Aggregation additiv ist, wirkt sich die Reihenfolge, in der Essbase die Dimensionen und Elemente aggregiert, nicht auf die Ergebnisse aus.

    Da die interne Aggregationsreihenfolge für einen Aggregate Storage Cube nicht vorhersehbar ist, sind inhärente Rundungsfehler ebenfalls nicht vorhersehbar. Diese Rundungsfehler sind das erwartete Verhalten bei der Computerberechnung und in Bezug auf die betreffenden Datenwerte äußerst gering.

  2. Berechnet Elemente und Formeln für dynamische Hierarchiedimensionen. Die Reihenfolge, in der Elemente und Formeln ausgewertet werden, wird durch die Eigenschaft "Lösungsreihenfolge" definiert, die Sie für jedes Element oder jede Dimension festlegen können. Die Berechnungsreihenfolge kann sich auf die Berechnungsergebnisse auswirken.

Auftragseigenschaft lösen

Das Konzept der Lösungsreihenfolge gilt für die Abfrageausführung. Wenn eine Zelle in einer mehrdimensionalen Abfrage ausgewertet wird, ist die Reihenfolge, in der die Berechnungen aufgelöst werden müssen, möglicherweise mehrdeutig. Um Mehrdeutigkeiten zu entfernen, können Sie mit der Eigenschaft "Auflösungsreihenfolge" die erforderliche Berechnungspriorität angeben.

Hinweis:

Es empfiehlt sich, die Lösungsreihenfolge anzugeben, indem Sie die Eigenschaft "Lösungsreihenfolge" auf Element- oder Dimensionsebene festlegen. Elemente Ohne Formeln, für die keine Solve-Reihenfolge angegeben ist, erben die Lösungsreihenfolge ihrer Dimension. Elemente mit Formeln, die keine angegebene Lösungsreihenfolge aufweisen, haben die Lösungsreihenfolge Null.

Verwenden Sie den Modellstruktureditor in der Essbase-Weboberfläche oder Smart View, um die Lösungsreihenfolge zu ändern. Um die Lösungsreihenfolge für ein berechnetes Element anzugeben, können Sie den Parameter solve_order im Mit Abschnitt einer MDX-Abfrage verwenden.

Der Wert der Eigenschaft "Lösungsreihenfolge" bestimmt die Priorität, mit der Essbase die Formeln berechnet. Die Formel der Elemente, für die eine Lösungsfolge angegeben ist, wird von der niedrigsten zur höchsten Lösung errechnet. Sie können eine Lösungsreihenfolge zwischen 0 und 127 festlegen. Der Standardwert lautet 0.

Sie können die Lösungsreihenfolge auf Elementebene oder auf Dimensionsebene angeben. Essbase verwendet die folgenden Informationen, um die Berechnungspriorität zu definieren:

  1. Element-Solve-Reihenfolge

  2. Dimensionslösungsreihenfolge (Elemente ohne Formeln, für die Sie keine Elementlösungsreihenfolge angeben, erben die Lösungsreihenfolge ihrer Dimension. Elemente mit Formeln, für die Sie keine Lösungsreihenfolge für ein Element angeben, haben eine Lösungsreihenfolge von Null.)

    Wenn mehrere Elemente dieselbe Lösungsreihenfolge aufweisen, werden die Elemente in der umgekehrten Reihenfolge ausgewertet, in der ihre Dimensionen im Outline auftreten. Das Element, das später in der Gliederung auftritt, hat Vorrang.

    Die Berechnungsreihenfolge der Bindungssituation unterscheidet sich für berechnete Elemente, die in einer MDX-Abfrage für Blockspeicher-Cubes definiert sind.

    Hinweis:

    Wenn eine Elementformel vom Wert eines anderen Elements abhängig ist, muss das Element mit der Formel eine höhere Lösungsfolge als das Element oder die Elemente haben, von denen es abhängig ist. Beispiel: In der Gliederung "ASOSamp.Basic" hängt die durchschnittliche Menge/Transaktion vom Wert der Einheiten und Transaktionen ab. Die durchschnittliche Menge/Transaktion muss einen höheren Lösungsauftrag aufweisen als Einheiten und Transaktionen.

Beispiel für die Eigenschaft "Auflösungsreihenfolge"

Das folgende Beispiel basiert auf dem Cube ASOSamp.Basic. Um Mehrdeutigkeiten in Abfrageergebnissen zu entfernen, verwendet das Beispiel die Eigenschaft "Auflösungsreihenfolge", um die erforderliche Berechnungspriorität anzugeben.

Die unten gezeigte Tabellenabfrage ruft Daten für die Anzahl der verkauften Einheiten und die Anzahl der Transaktionen für Januar des aktuellen Jahres und für Januar des Vorjahrs ab. Das Abweichungselement zeigt die Differenz zwischen dem aktuellen Jahr und dem Vorjahr an. Das Element "Durchschn. Einheiten/Transaktion" zeigt ein Verhältnis der Anzahl verkaufter Einheiten pro Transaktion an.

Abbildung 37-5 Ergebnisse aus der Tabellenabfrage von ASOSamp.Basic-Cube, der die Abweichung zwischen zwei Verhältnissen zeigt (C12)


Diese Abbildung zeigt die Ergebnisse einer Tabellenabfrage, wie im Text vor dem Bild beschrieben.

Die folgende Abbildung zeigt die Cube-Modellstruktur für diese Elemente und die Formeln, die auf die Elemente "Abweichung" und "Durchschn. Einheiten/Transaktion" angewendet werden.

Abbildung 37-6 ASOSamp.Basic Cube mit den Dimensionen "Maße", "Jahre" und "Zeit"


Diese Abbildung zeigt eine Gliederung, wie im Text vor dem Bild beschrieben.

Bei der Berechnung der Abweichung der durchschnittlichen Einheiten pro Transaktion (Zelle C12 im Tabellenbeispiel) könnte das Ergebnis die Abweichung zwischen den beiden Verhältnissen sein, oder das Ergebnis könnte das Verhältnis der beiden Abweichungen sein. Das Ergebnis hängt davon ab, ob Essbase der Formel für "Abweichung" oder der Formel für "Durchschn. Einheiten/Transaktion" Vorrang gibt.

Der Wert der Eigenschaft "Lösungsreihenfolge", die mit den Elementen in der Modellstruktur verknüpft ist, bestimmt die Priorität, mit der Essbase die Formeln auswertet. Je höher die Einstellung der Lösungsreihenfolge ist, desto später wird das Element berechnet. Beispiel: Eine Formel mit der Lösungsreihenfolge "1" wird vor einem Element mit der Lösungsreihenfolge "2" berechnet.

Wenn im Beispiel das Abweichungselement eine niedrigere Lösungsreihenfolge als das Element "Durchschn. Einheiten/Transaktion" aufweist, hat die Formel des Abweichungselements Vorrang, und das Ergebnis ist die Abweichung zwischen zwei Verhältnissen. Dies ist im ASOSamp.Basic-Cube der Fall, da die Lösungsreihenfolge des Abweichungselements 10 und die Lösungsreihenfolge des Elements "Durchschn. Einheiten/Transaktion" 20 ist. Die Formel für die Abweichung hat Vorrang, da das Abweichungselement die niedrigere Lösungsreihenfolge aufweist. Das Ergebnis für Zelle C12 der Abfrage im Tabellenbeispiel ist die Abweichung zwischen den beiden Verhältnissen, wie in der folgenden Tabelle dargestellt:

Tabelle 37-4: Mit der Eigenschaft "Lösungsreihenfolge" die Abweichung zwischen zwei Verhältnissen angeben

Mitglied Lösungsreihenfolge Formel Ergebnis der Schnittmenge von Abweichung und durchschn. Einheiten/Transaktion (Zelle C12)

Abweichung

10

Aktuelles Jahr - Vorjahr

Durchschnittliche Einheiten/Transaktion im laufenden Jahr - Durchschnittliche Einheiten/Transaktion im Vorjahr

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

Durchschn. Einheiten/Transaktion

20

Einheiten/Transaktionen

Wenn Sie alternativ den Cube "ASOSamp.Basic" ändern und dem Element "Durchschn. Einheiten/Transaktion" eine niedrigere Lösungsreihenfolge als dem Element "Variance" zuweisen, hat die Formel im Element "Durchschn. Einheiten/Transaktion" Vorrang. Das Ergebnis ist das Verhältnis zweier Abweichungen, wie in der folgenden Tabelle und im folgenden Tabellenbeispiel gezeigt:

Tabelle 37-5: Verhältnis zweier Abweichungen mit der Eigenschaft "Lösungsreihenfolge" angeben

Mitglied Lösungsreihenfolge Formel Ergebnis der Schnittmenge von Abweichung und durchschn. Einheiten/Transaktion (Zelle C12)

Abweichung

20

Aktuelles Jahr - Vorjahr

Abweichung der Einheiten (aktuelles Jahr ggü. Vorjahr) / Abweichung der Transaktionen

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

Durchschn. Einheiten/Transaktion

10

Einheiten/Transaktionen

Abbildung 37-7 Ergebnisse aus der Tabellenabfrage von ASOSamp.Basic Cube mit dem Verhältnis zweier Abweichungen (C12)


Diese Abbildung zeigt die Ergebnisse einer Tabellenabfrage, wie im Text vor dem Bild beschrieben.