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;
.