避免遞迴錯誤

遞迴錯誤的主要原因是欄標頭中未包含且並行計算的密集動態計算 (包含在 FIX 陳述式中未包含的成員中)。如果一些其他動態計算成員的公式在 FIX 陳述式中包含密集成員,則發生遞迴。如果遞迴層級超過 128,則會發生遞迴錯誤。

排除動態計算成員的主要原因是要改善效能。此外,排除動態計算成員可協助您避免遞迴錯誤,方法是確定匯出使用壓縮區塊,而非展開的區塊。也可能避免遞迴錯誤,方法是變更用作欄標頭的密集維度,而針對欄標頭,會個別計算 FIX 陳述式所定義的每欄。不會發生遞迴,因為會忽略 FIX 陳述式中未包含的其他密集動態計算,以允許成功執行規則。

Note:

如果匯出檔包含的欄超過 256,則您無法變更密集維度欄標頭。

例如,如果您使用下列計算指令碼,則可能會收到 Cannot calculate. Essbase Error(1200494): Error executing formula for [Yield%] (line 15): Recursion limit [128] reached 錯誤:

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"  "#";
 

若要避免錯誤,請將 DataExportDynamicCalc ON; 變更為 DataExportDynamicCalc OFF;,以關閉「動態」選項。