재귀 오류 방지

재귀 오류의 주된 이유는 동시에 계산되는 FIX 문에 포함되지 않은 멤버를 비롯하여 열 머리글에 포함되지 않은 밀집 동적 계산입니다. 다른 동적으로 계산된 멤버의 일부에 FIX 문의 밀집 멤버가 포함된 공식이 있는 경우 재귀가 발생합니다. 재귀 레벨이 128개를 초과하는 경우 재귀 오류가 발생합니다.

동적 계산 멤버를 제외하는 주된 이유는 성능을 높이기 위한 것입니다. 또한, 동적 계산 멤버를 제외하면 익스포트에서 확장된 블록이 아닌 압축된 블록을 사용하는지 확인하여 재귀 오류를 방지하는 데 도움이 됩니다. FIX 문을 통해 정의된 각 열이 개별적으로 계산되는 데 열 머리글로 사용되는 밀집 차원을 변경하여 재귀 오류를 방지할 수도 있습니다. FIX 문에 포함되지 않은 다른 밀집 동적 계산이 무시되어 규칙이 성공적으로 실행될 수 있기 때문에 재귀가 발생하지 않습니다.

Note:

익스포트 파일에 256개가 넘는 열이 포함되어 있는 경우 밀집 차원 열 머리글을 변경할 수 없습니다.

예를 들어 다음 계산 스크립트를 사용하면 계산할 수 없습니다. Essbase 오류(1200494): [Yield%] (라인 15)에 대한 수식을 실행하는 중 오류가 발생했습니다. 재귀 한도 [128]에 도달했습니다. 오류가 발생할 수 있습니다.

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;으로 변경하여 동적 옵션을 해제하십시오.