Rekursionsfehler vermeiden

Der Rekursionsfehler wird vor allem dadurch verursacht, dass dicht besetzte dynamische Berechnungen, die nicht im Spaltenheader enthalten sind und Elemente aufweisen, die nicht in der FIX-Anweisung enthalten sind, gleichzeitig durchgeführt werden. Die Rekursion tritt auf, wenn einige der anderen dynamisch berechneten Elemente eine Formel aufweisen, die das dicht besetzte Element in der FIX-Anweisung enthält. Ein Rekursionsfehler tritt auf, wenn es mehr als 128 Rekursionsebenen gibt.

Der Hauptgrund für den Ausschluss von dynamischen Berechnungselementen besteht darin, die Performance zu verbessern. Der Ausschluss dynamischer Berechnungselemente hilft Ihnen außerdem dabei, den Rekursionsfehler zu vermeiden, indem sichergestellt wird, dass der Export den komprimierten Block anstelle des erweiterten Blocks verwendet. Der Rekursionsfehler kann auch vermieden werden, indem die als Spaltenheader verwendete dicht besetzte Dimension geändert wird, für die jede von der FIX-Anweisung definierte Spalte einzeln berechnet wird. Die Rekursion tritt nicht auf, da andere dicht besetzte dynamische Berechnungen, die nicht in der FIX-Anweisung enthalten sind, ignoriert werden. Dadurch wird die Regel erfolgreich ausgeführt.

Note:

Sie können den Spaltenheader der dicht besetzten Dimension nicht ändern, wenn die Exportdatei mehr als 256 Spalten enthält.

Beispiel: Sie erhalten möglicherweise den Fehler Berechnung nicht möglich. Essbase-Fehler (1200494): Fehler beim Ausführen der Formel für [Yield%] (Zeile 15): Rekursionsgrenzwert [128] erreicht, wenn Sie das folgende Berechnungsskript verwenden:

SET DataExportOptions
     {
     DATAEXPORTCOLFORMAT ON;
     DATAEXPORTDIMHEADER ON;
     DATAEXPORTDRYRUN OFF;
     DataExportRelationalFile OFF;
     DataExportNonExistingBlocks OFF;
     DataExportLevel ALL;
     DATAEXPORTCOLHEADER "Period";
     DATAEXPORTOVERWRITEFILE ON;
     DataExportDynamicCalc ON;
     };

FIX ("Yield%",@Relative("Change Over",0),@Relative("Currency",0),@Relative("Entity",0),@Relative("Product",0),@Relative("CostCentre",0),"Jan","Actual_Total",@Relative("View",0),"Working","Fy20")

DATAEXPORT "File" "," "/u03/inbox/data/ExportDataFile.txt"  "#";
 

Um den Fehler zu vermeiden, müssen Sie die Option "Dynamisch" deaktivieren. Ändern Sie hierzu DataExportDynamicCalc ON; in DataExportDynamicCalc OFF;.