Considerações sobre Otimização e Desempenho

  • Use modelos em regras de negócios para evitar a repetição de seções de código e aproveitar melhor as RTPs.
  • Analise dependências em membros de cálculo dinâmico dentro de cada cálculo. Se possível, altere o cálculo para evitar a inclusão do uso repetido de cálculo dinâmico ou remova o cálculo dinâmico.
  • Use instruções FIX e IF para focar no cálculo e garantir que somente os dados necessários sejam calculados.
  • Evite a criação de um resultado com dados 0 (zero), a menos que queira ver um zero; por exemplo, para níveis de inventário. Isso criará um bloco, que será incluído em todas as instruções FIX e IF e será calculado. Se possível, remova zeros do carregamento de dados ou evite a criação de zeros em regras de negócios.
  • Tente evitar uma lógica booliana dentro da instrução IF usada para verificar se uma condição existe. Por exemplo, substitua
    IF (("Budget" ==#missing) OR ("Budget" ==0))
    pelo seguinte, o que produz o mesmo resultado, mas evita o uso da lógica booliana:
    IF ("Budget" +1==1) or IF (Budget/Budget ==#missing)
  • Quando possível, execute cálculos densos antes de executar cálculos esparsos. Os cálculos densos não criam blocos; os esparsos criam. Ao executar agregações; por exemplo, para obter um total de um cálculo de alocação, certifique-se de agregar somente a seção dos dados que é obrigatória para esse cálculo de alocação.
  • Minimize as passagens em um banco de dados.
  • Evite fórmulas recursivas. A recursão excessiva pode criar problemas de desempenho e exigir que você apague valores para produzir resultados consistentes.
  • Para ver as melhores práticas de como substituir blocos zero e remover blocos #missing em cubos BSO para reduzir o tamanho do banco de dados, consulte Otimizar Cubos BSO.