Diagnóstico de Problemas de Desempenho após Implantação das Regras de Cálculo Configuráveis (Ponto de Inserção)

Cálculos configuráveis podem ser usados para implementar os casos de uso que não são fornecidos pelo processo de consolidação pronto para uso.

  • Aplicativos de vários moedas: Cálculos configuráveis podem ser escritos para o processamento de Moeda Local (dados no nível de entidade não convertidos), Convertido (dados no nível de entidade convertidos) e Dados consolidados.
  • Aplicativos de moeda única: Cálculos configuráveis podem ser escritos para o processamento de Moeda Local (dados no nível de entidade não convertidos) e Dados consolidados.

Esses cálculos, chamados pelo Financial Consolidation and Close quando um processo de consolidação é executado, não podem ser chamados como cálculos autônomos. Os cálculos configuráveis escritos inadequadamente podem afetar severamente o desempenho do tempo de execução do processo de consolidação. O cartão Recomendações do Financial Consolidation and Close exibe avisos sobre regras que podem causar uma degradação do desempenho durante a consolidação. Esses avisos, que são ponteiros para as melhores práticas que você deve seguir ao escrever scripts de cálculo configuráveis, podem melhorar o desempenho da consolidação. Para obter informações detalhadas, consulte Resolução dos Avisos de Validação do Script de Cálculo em Administrando o Financial Consolidation and Close.

Além disso, use as sugestões a seguir para melhorar o desempenho dos cálculos configuráveis.

  • Excute cálculos configuráveis de Moeda Local como regras sob demanda
  • Desabilite a lógica CALC DIM
  • Defina HYBRIDBSOINCALCSCRIPT
  • Execute cálculos configuráveis de maneira BOTTOMUP
  • Use cálculos no modo BLOCK
  • Considere o total de membros no lado direito da expressão

Execução de Cálculos Configuráveis de Moeda Local como Regras sob Demanda

Os cálculos configuráveis escritos para Moeda Local são executados para membros de Moeda de Entidade e Entrada de Entidade a partir das dimensões Moeda e Consolidação, respectivamente. Com algumas alterações, os cálculos configuráveis de Moeda Local podem ser escritos como ODRs (Regras sob Demanda). Os benefícios para essa abordagem incluem:

  • Reduz o tempo de consolidação.

    Suponha que leve cinco minutos para que um usuário copie valores do período anterior (bloqueado) para o período atual no nível de Moeda de Entidade e Entrada de Entidade. Essa tarefa precisa ser feita somente uma vez porque o valor do período anterior não tem probabilidade de mudar. Incluir esse cálculo nos cálculos configuráveis de Moeda Local fará com que ele seja executado toda vez que a consolidação é chamada, aumentando o tempo de consolidação. Mover tais cálculos como ODRs permite chamá-los quando necessário, poupando tempo. Nesse caso, evitar a cópia de dados do período anterior poupa a você cinco minutos do tempo de consolidação por período.

  • Ajuda a depurar cálculos configuráveis de Moeda Local.

    Considere um caso de uso em que você precisa executar lógica de cálculo no nível de Moeda Local e Entrada de Entidade durante cada consolidação. Como tais regras devem fazer parte de cálculos configuráveis de Moeda Local, cada tentativa de depurar problemas de desempenho com regras exige que você execute a consolidação, que é um processo demorado. Para poupar tempo, não é possível mover cálculos configuráveis de Moeda Local como ODRs, depurá-los e ajustá-los e, em seguida, movê-los de volta como cálculos configuráveis de Moeda Local.

  • Fornece facilidade de acesso em tempo de execução e estatísticas.

    As ODRs podem ser chamadas no cartão Regras do Financial Consolidation and Close ou diretamente do Calculation Manager. As ODRs executadas no Calculation Manager geram estatísticas que ajudam a identificar onde o tempo de processamento está sendo gasto e os membros nos quais o cálculo é executado. Siga estas etapas para coletar estatísticas do tempo de execução:

    1. Acesse o Calculation Manager e inicie uma ODR.
      Regra sob Demanda iniciada no Calculation Manager

    2. Selecione solicitações do tempo de execução.
    3. Clique em OK no Status de Início.

      A guia Mensagens de Log é exibida. Essa guia exibe estatísticas do tempo de execução.

Movimentação de um Cálculo Configurável para ODR

Quando cálculos configuráveis são escritos para Moeda Local, você não pode usar membros das dimensões Cenário, Ano, Período e Entidade em FIX, como a âncora, ou no lado esquerdo de uma expressão; você pode usar apenas membros das dimensões Moeda e Consolidação. À medida que as regras de Moeda Local são chamadas durante o processo de consolidação, os membros das dimensões Cenário, Ano, Período e Entidades que são fornecidos para o processo de consolidação como RTPs (Solicitações de Tempo de Execução) são considerados.

Não é possível usar os membros da dimensão Cenário, Ano, Período, Entidade, Moeda e Consolidação em ODRs. Membros de dimensão relevantes são fornecidos como RTPs para iniciar a execução da ODR.

Como desabilitar a lógica CALC DIM

Quando você cria scripts de cálculo configuráveis para um ponto de inserção, o Financial Consolidation and Close automaticamente gera dados em níveis pai para que esses membros pai estejam disponíveis no próximo ponto de inserção. O Financial Consolidation and Close adiciona a lógica CALC DIM para acumular os dados que você preenche. O processamento dessa lógica CALC DIM adicionada é um processo demorado, dependendo da complexidade da sua hierarquia. Se você não precisar consultar membros pais recalculados em pontos de inserção posteriores, é possível acelerar o processo geral de consolidação desabilitando a lógica CALC DIM que o Financial Consolidation and Close adiciona para pontos de inserção.

Note:

Desabilitar a lógica CALC DIM afeta a geração de scripts de consolidação. Verifique com atenção os resultados da consolidação após desabilitar a lógica CALC DIM.

Para evitar que o Financial Consolidation and Close gere uma lógica CALC DIM desnecessária em aplicativos de várias moedas, defina as Variáveis de Substituição adequadas na lista a seguir e defina-as como True

  • CONFCALC_FCCS10_DISABLECALCDIM
  • CONFCALC_FCCS20_DISABLECALCDIM
  • CONFCALC_FCCS25_DISABLECALCDIM
  • CONFCALC_FCCS30_DISABLECALCDIM
  • CONFCALC_FCCS40_DISABLECALCDIM
  • CONFCALC_FCCS50_DISABLECALCDIM
  • CONFCALC_FCCS60_DISABLECALCDIM
  • CONFCALC_FCCS70_DISABLECALCDIM

Por exemplo, imagine que você tenha gravado uma lógica personalizada nas regras de cálculo configuráveis FCCS_10 e FCCS_20. Se você deseja desabilitar a lógica CALC DIM para FCCS_20, mas não para FCCS_10, é necessário definir uma Variável de Substituição denominada CONFCALC_FCCS20_DISABLECALCDIM e defini-la como True.

Para evitar que o Financial Consolidation and Close gere uma lógica CALC DIM desnecessária em aplicativos de única moeda, defina as Variáveis de Substituição adequadas na lista a seguir e defina-as como True.

  • CONFCALC_FCCS110_DISABLECALCDIM
  • CONFCALC_FCCS120_DISABLECALCDIM
  • CONFCALC_FCCS130_DISABLECALCDIM
  • CONFCALC_FCCS140_DISABLECALCDIM
  • CONFCALC_FCCS150_DISABLECALCDIM

SET HYBRIDBSOINCALCSCRIPT

O comando SET HYBRIDBSOINCALCSCRIPT controla se o bloco específico em um script de cálculo é executado ou não no modo híbrido.

Considere o seguinte script de cálculos configuráveis em Moeda Local, regra Após Avanço do Saldo de Abertura:

FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX
Na inicialização da consolidação, para cálculos configuráveis, o Financial Consolidation and Close permite o modo híbrido encapsulando a regra com os comandos SET HYBRIDBSOINCALCSCRIPT FULL; e SET HYBRIDBSOINCALCSCRIPT NONE;, que não são visíveis no Calculation Manager. Esses comandos não são adicionados para ODRs.
SET HYBRIDBSOINCALCSCRIPT FULL;
FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX

SET HYBRIDBSOINCALCSCRIPT NONE;

Para garantir que essa ativação do modo híbrido durante a consolidação para cálculos configuráveis não esteja travando o desempenho, desligue o modo híbrido (veja o exemplo a seguir) e execute a consolidação.

SET HYBRIDBSOINCALCSCRIPT FULL;

SET HYBRIDBSOINCALCSCRIPT NONE;
FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX

SET HYBRIDBSOINCALCSCRIPT NONE;

Executar Cálculos Configuráveis de maneira BOTTOMUP

Executar cálculos configuráveis de maneira TOPDOWN pode torná-los lentos. Consequentemente, o processo de consolidação que chama os cálculos também fica lento. Para evitar esse problema, certifique-se de executar cálculos configuráveis de maneira BOTTOMUP. Para obter mais informações, consulte @CALCMODE em Referência Técnica do Essbase.

Ao alternar para cálculos BOTTOMUP, certifique-se de que os blocos de destino existam e que os dados sejam calculados corretamente.

Usar Cálculos no Modo BLOCK

Como os cálculos no modo CELL podem desacelerar os cálculos configuráveis, certifique-se de executá-los no modo BLOCK. Para obter mais informações, consulte @CALCMODE em Referência Técnica do Essbase.

Ao alternar para cálculos no modo BLOCK, considere cuidadosamente as dependências de dados dentro do bloco para garantir que os dados resultantes sejam precisos.

Considerar o Número de Membros no Lado Direito da Expressão

Às vezes, você pode precisar extrair dados agregados para membros, como no seguinte exemplo:

"Target_Account_Stored" -> "Mvmt_None" = "FCCS_Mvmts_Subtotal"
 -> "Source_Account_DynamicCalc" -> "Total Custom1" -> "Total Custom2";

Este exemplo tenta armazenar o resultado do cálculo dinâmico no lado direito em um membro denso armazenado. O Financial Consolidation and Close, por padrão, encapsula esse cálculo configurável dentro dos comandos SET HYBRIDBSOINCALCSCRIPT FULL; e SET HYBRIDBSOINCALCSCRIPT NONE;. No entanto, mesmo após o encapsulamento, esse cálculo pode não ser bem executado porque ele está lendo a partir dos membros superiores. Para melhorar o desempenho, é possível reescrever esses cálculos para iterar nos membros de nível 0 das dimensões necessárias, em vez de ler a partir dos membros superiores, como ilustrado no seguinte exemplo:

SET HYBRIDBSOINCALCSCRIPT NONE; /*Turn off hybrid mode */
FIX(@RELATIVE( "Total Custom1", 0 ), @RELATIVE( "Total Custom2", 0 ), <other dimension members of FIX> )
       "FCCS_Mvmts_Subtotal" ( @CALCMODE( BOTTOMUP );
             "Target_Account_Stored" -> "Mvmt_None"  =  "Target_Account_Stored"  -> "Mvmt_None" + "Source_Account_DynamicCalc";
             )
ENDFIX