Bottom-Up- und Top-Down-Berechnung
In einem Essbase Block Storage Cube sind Top-down-Berechnungen weniger effizient als Bottom-up-Berechnungen, da mehr Blöcke berechnet werden als erforderlich. Top-down-Berechnungen können in einigen Fällen erforderlich sein, um sicherzustellen, dass die Berechnungsergebnisse korrekt sind.
Essbase führt eine vollständige Berechnung einer Datenbankmodellstruktur mit einer Bottom-up-Berechnung oder einer Top-down-Berechnung aus. Standardmäßig verwendet Essbase Bottom-up-Berechnungen in Block Storage-Cubes, die nicht den Hybridmodus aufweisen.
Hinweis:
Wenn Ihr Cube den Hybridmodus verwendet (der Standard in Essbase 21c), können Sie die Informationen in diesem Thema überspringen. Cubes im Hybridmodus sind bereits für dynamische Abhängigkeitsanalysen optimiert. Weitere Informationen finden Sie unter Hybridmodus für schnelle analytische Verarbeitung verwenden.Bei einer Bottom-up-Berechnung bestimmt Essbase, welche Datenblöcke berechnet werden müssen, bevor der Cube berechnet wird. Essbase berechnet dann nur die Blöcke, die berechnet werden müssen. Die Berechnung beginnt mit dem vorhandenen Block mit der niedrigsten Blocknummer und funktioniert durch jeden Block in Zahlenfolge, bis der vorhandene Block mit der höchsten Blocknummer erreicht ist. Siehe Blockberechnungsreihenfolge.
Wenn die Modellstruktur eine komplexe Elementformel enthält, führt Essbase eine Top-down-Berechnung für das relevante Element aus.
Bottom-Up-Berechnungen und einfache Formeln
Bei einfachen Formeln führt Essbase eine Bottom-up-Berechnung durch, um zu bestimmen, welche Blöcke berechnet werden müssen, bevor die vollständige Berechnung ausgeführt wird. Beispiel: Für eine einfache Formel für ein Element (z.B. A = B + C) wird A nur berechnet, wenn B oder C in der Datenbank vorhanden ist. Das heißt, die Abhängigkeit der Formel von B und C ist bekannt, bevor die Berechnung gestartet wird.
Top-Down-Berechnungen und komplexe Formeln
Bevor eine Berechnung gestartet wird, durchsucht Essbase die Gliederung und markiert komplexe Formeln, die eine Top-down-Berechnung erfordern. Beispiel: Eine Elementformel, die eine dimensionsübergreifende Referenz enthält. Wenn Essbase ein Element mit einer Top-down-Formel erreicht, wird eine Top-down-Berechnung für das Element ausgeführt.
Wenn eine Formel für ein Element komplex ist, müssen alle möglichen Blöcke für das Element geprüft werden, um zu sehen, ob ein vorhandener Block geändert oder ein neuer Block erstellt werden muss. Es ist schwierig, die Abhängigkeit zu bestimmen, die Blöcke von anderen Blöcken haben, bevor die Berechnung gestartet wird. Die Top-down-Methode verlangsamt die Berechnungsperformance, da Essbase nach geeigneten Blöcken suchen muss, um die Formel auszuführen.
Wenn eine Formel kompiliert wird und die Formel von oben nach unten berechnet werden soll, protokolliert Essbase eine Meldung in der Anwendungslogdatei.
Betrachten Sie die folgende komplexe Formel:
A = B -> D + C -> DZur Berechnung der Formel muss Essbase alle Kombinationen von A prüfen, um festzustellen, ob B -> D oder C -> D vorliegt.
Bottom-Up-Berechnungen erzwingen
Wenn es für den Standort geeignet ist, können Sie eine Bottom-up-Berechnung für eine Top-down-Formel erzwingen.
Um eine Bottom-up-Berechnung zu erzwingen, verwenden Sie eine der folgenden Methoden:
-
Berechnungsfunktion – @CALCMODE in einer Formel
-
Berechnungsskriptbefehl – SET FRMLBOTTOMUP
-
Konfigurationseinstellungen:
Das Erzwingen einer Bottom-up-Berechnung für eine Formel erhöht in der Regel die Leistungszeit. Wenn die Formel komplexe Funktionen (z.B. Bereichsfunktionen) enthält oder wenn die Abhängigkeiten der Formel nicht einfach sind, kann eine Bottom-up-Berechnung zu Ergebnissen führen, die sich von denen einer Top-down-Berechnung unterscheiden.
Achtung:
Bevor Sie die Einstellung CALCOPTFRMLBOTTOMUP ändern oder den Berechnungsskriptbefehl SET FRMLBOTTOMUP in einer Produktionsumgebung verwenden, prüfen Sie die Gültigkeit der Berechnungsergebnisse, indem Sie die Ergebnisse einer Bottom-up-Berechnung und die Ergebnisse einer Top-down-Berechnung im Vergleich zu denselben Daten vergleichen.