Como Evitar o Erro de Recursão

O principal motivo do erro de recursão é cálculos dinâmicos densos não incluídos no cabeçalho da coluna, inclusive nos membros não incluídos na instrução FIX, serem calculados simultaneamente. A recursão ocorrerá se alguns dos membros calculados dinamicamente tiverem uma fórmula que inclua o membro denso na instrução FIX. Um erro de recursão ocorrerá se houver mais de 128 níveis de recursão.

O principal motivo para excluir membros de cálculo dinâmico é a melhoria do desempenho. Além disso, a exclusão de membros de cálculo dinâmico ajuda a evitar o erro de recursão garantindo que a exportação use o bloco compactado, em vez do bloco expandido. Também é possível evitar o erro de recursão alterando a dimensão densa usada como o cabeçalho da coluna. Para ele, cada coluna definida pela instrução FIX é calculada individualmente. A recursão não ocorre porque outros cálculos dinâmicos densos não incluídos na instrução FIX são ignorados, o que permite que a regra seja executada com sucesso.

Note:

Você não poderá alterar o cabeçalho de coluna da dimensão densa se o arquivo exportado contiver mais de 256 colunas.

Por exemplo, pode ser que o erro Cannot calculate. Essbase Error(1200494): Error executing formula for [Yield%] (line 15): Recursion limit [128] reached ocorra se você usar o seguinte script de cálculo:

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

Para evitar o erro, desative a opção Dinâmico alterando DataExportDynamicCalc ON; para DataExportDynamicCalc OFF;.