Diagnosi degli errori di performance dopo la distribuzione di regole di calcolo configurabili (Punto di inserimento)

I calcoli configurabili possono essere utilizzati per implementare i casi d'uso non forniti dal processo di consolidamento integrato.

  • Applicazioni multivaluta: i calcoli configurabili possono essere scritti per l'elaborazione della valuta locale (dati a livello di entità non tradotti), dei dati tradotti (dati a livello di entità tradotti) e dei dati consolidati.
  • Applicazioni a valuta singola: i calcoli configurabili possono essere scritti per l'elaborazione della valuta locale (dati a livello di entità non tradotti) e dei dati consolidati.

Questi calcoli, richiamati da Financial Consolidation and Close quando viene eseguito il processo di consolidamento, non possono essere richiamati come calcoli autonomi. I calcoli configurabili con sintassi scadente possono pregiudicare le performance di runtime del processo di consolidamento. La scheda Consigli di Financial Consolidation and Close visualizza avvisi sulle regole che possono causare un calo delle performance durante il consolidamento. Questi avvisi, che indicano le procedure consigliate da seguire durante la scrittura di script di calcolo configurabili, potrebbero potenzialmente migliorare le performance di consolidamento. Per informazioni dettagliate, fare riferimento alla sezione Risoluzione degli avvisi di convalida degli script di calcolo in Amministrazione di Financial Consolidation and Close.

Inoltre, è possibile utilizzare i seguenti suggerimenti per migliorare le performance dei calcoli configurabili.

  • Eseguire i calcoli configurabili relativi alla valuta locale come regole su richiesta
  • Disabilitare la logica CALC DIM
  • Impostare HYBRIDBSOINCALCSCRIPT
  • Eseguire i calcoli configurabili in modalità BOTTOMUP
  • Utilizzare i calcoli in modalità BLOCK
  • Considerare il numero totale di membri sul lato destro dell'espressione

Esecuzione dei calcoli configurabili relativi alla valuta locale come regole su richiesta

I calcoli configurabili scritti per la valuta locale vengono eseguiti per i membri Valuta entità e Input entità rispettivamente dalle dimensioni Valuta e Consolidamento. Con alcune modifiche, i calcoli configurabili relativi alla valuta locale possono essere scritti come regole su richiesta. I vantaggi di questo approccio sono elencati di seguito:

  • Riduzione dei tempi di consolidamento.

    Si supponga, ad esempio, che un utente impieghi 5 minuti per copiare i valori del periodo precedente (bloccati) nel periodo corrente a livello delle dimensioni Valuta entità e Input entità. Questo task deve essere eseguito solo una volta perché è possibile che il valore del periodo precedente cambi. L'inclusione di questo calcolo nei calcoli configurabili relativi alla valuta locale comporterà l'esecuzione del calcolo ogni volta che viene richiamato il consolidamento e ciò causerà un incremento dei tempi di consolidamento. Lo spostamento di tali calcoli nelle regole su richiesta consente di richiamarli quando è necessario e pertanto di risparmiare tempo. In questo scenario, evitare di copiare i dati del periodo precedente consente di risparmiare il tempo sopra menzionato, ovvero i 5 minuti del tempo di consolidamento per periodo.

  • Semplificazione del debug dei calcoli configurabili relativi alla valuta locale.

    Si consideri un caso d'uso in cui è necessario eseguire la logica di calcolo a livello delle dimensioni Valuta locale e Input entità durante ogni consolidamento. Dal momento che tali regole devono far parte dei calcoli configurabili relativi alla valuta locale, ogni tentativo di debug dei problemi relativi alle performance mediante le regole richiede l'esecuzione del consolidamento. Questo processo è dispendioso a livello di tempo. Per risparmiare tempo, è possibile spostare i calcoli configurabili relativi alla valuta locale nelle regole su richiesta, eseguirne il debug e ottimizzarle, quindi includerle di nuovo come calcoli configurabili relativi alla valuta locale.

  • Semplificazione dell'accesso runtime e delle statistiche.

    Le regole su richiesta possono essere richiamate nella scheda Regole di Financial Consolidation and Close o direttamente da Calculation Manager. Le regole su richiesta eseguite da Calculation Manager generano statistiche che semplificano l'individuazione del punto in cui viene impiegato il tempo di elaborazione e dei membri su cui viene eseguito il calcolo. Per raccogliere le statistiche runtime, procedere come segue:

    1. Accedere a Calculation Manager e avviare una regola su richiesta.
      Regola su richiesta avviata in Calculation Manager

    2. Selezionare i prompt runtime.
    3. Fare clic su OK in Stato esecuzione.

      Viene visualizzata la scheda Messaggi di log. In questa scheda vengono visualizzate le statistiche runtime.

Spostamento di un calcolo configurabile in una regola su richiesta

Quando i calcoli configurabili vengono scritti per la valuta locale, è possibile utilizzare i membri delle dimensioni Scenario, Anno, Periodo ed Entità in FIX come ancoraggio oppure sul lato sinistro dell'espressione. È possibile utilizzare i membri solo delle dimensioni Valuta e Consolidamento. Quando durante il processo di consolidamento vengono richiamate le regole relative alla valuta locale, vengono considerati i membri delle dimensioni Scenario, Anno, Periodo ed Entità forniti al processo di consolidamento come prompt runtime.

Nelle regole su richiesta non è possibile utilizzare i membri delle dimensioni Scenario, Anno, Periodo, Entità, Valuta e Consolidamento. I membri delle dimensioni rilevanti vengono forniti come prompt runtime per avviare l'esecuzione della regola su richiesta.

Disabilitazione della logica CALC DIM

Quando si creano script di calcolo configurabili per un punto di inserimento, Financial Consolidation and Close genera automaticamente i dati a livello padre in modo che i membri padre siano disponibili nel punto di inserimento successivo. Financial Consolidation and Close aggiunge la logica CALC DIM per eseguire il rollup dei dati popolati. L'elaborazione di questa logica CALC DIM aggiunta è un processo che richiede molto tempo, in base alla complessità della gerarchia. Se non è necessario fare riferimento ai membri padre ricalcolati nei punti di inserimento successivi, è possibile velocizzare il processo di consolidamento complessivo disabilitando la logica CALC DIM aggiunta da Financial Consolidation and Close per i punti di inserimento.

Note:

La disabilitazione della logica CALC DIM influisce sulla generazione dello script di consolidamento. Dopo aver disabilitato la logica CALC DIM, verificare attentamente i risultati del consolidamento.

Per evitare che Financial Consolidation and Close generi logica CALC DIM non necessaria nelle applicazioni multi-valuta, definire le variabili di sostituzione appropriate in base all'elenco che segue e impostarle su 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

Ad esempio, si supponga di aver scritto logica customizzata nelle regole di calcolo configurabili FCCS_10 e FCCS_20. Se si desidera disabilitare la logica CALC DIM per la regola FCCS_20, ma non per la regola FCCS_10, è necessario definire una variabile di sostituzione denominata CONFCALC_FCCS20_DISABLECALCDIM e impostarla su True.

Per evitare che Financial Consolidation and Close generi logica CALC DIM non necessaria nelle applicazioni a valuta singola, definire le variabili di sostituzione appropriate in base all'elenco che segue e impostarle su True

  • CONFCALC_FCCS110_DISABLECALCDIM
  • CONFCALC_FCCS120_DISABLECALCDIM
  • CONFCALC_FCCS130_DISABLECALCDIM
  • CONFCALC_FCCS140_DISABLECALCDIM
  • CONFCALC_FCCS150_DISABLECALCDIM

SET HYBRIDBSOINCALCSCRIPT

Il comando SET HYBRIDBSOINCALCSCRIPT controlla se il blocco specifico in uno script di calcolo viene eseguito in modalità ibrida.

Si consideri il seguente script relativo ai calcoli configurabili nella regola Valuta locale, Riporto dopo saldo di apertura:

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
All'avvio del consolidamento, per i calcoli configurabili Financial Consolidation and Close abilita la modalità ibrida mediante l'incapsulamento della regola nei comandi SET HYBRIDBSOINCALCSCRIPT FULL; e SET HYBRIDBSOINCALCSCRIPT NONE;, che non sono visibili in Calculation Manager. Questi comandi non vengono aggiunti per le regole su richiesta.
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;

Per far sì che l'abilitazione della modalità ibrida durante il consolidamento dei calcoli configurabili non comprometta le performance, disattivare la modalità ibrida (fare riferimento all'esempio seguente) e quindi eseguire il consolidamento.

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;

Esecuzione dei calcoli configurabili in modalità BOTTOMUP

L'esecuzione dei calcoli configurabili in modalità TOPDOWN può rallentare il processo. Di conseguenza, risulta rallentato anche il processo di consolidamento che richiama i calcoli. Per evitare questo problema, assicurarsi di eseguire i calcoli configurabili in modalità BOTTOMUP. Per ulteriori informazioni, fare riferimento alla sezione @CALCMODE in Essbase Technical Reference (in lingua inglese).

Durante il passaggio dell'esecuzione dei calcoli alla modalità BOTTOMUP, assicurarsi che i blocchi di destinazione esistano e che i dati vengano calcolati correttamente.

Utilizzo dei calcoli in modalità BLOCK

Dal momento che l'esecuzione dei calcoli in modalità CELL può rallentare i calcoli configurabili, assicurarsi di eseguirli in modalità BLOCK. Per ulteriori informazioni, fare riferimento alla sezione @CALCMODE in Essbase Technical Reference (in lingua inglese).

In caso di passaggio dell'esecuzione dei calcoli alla modalità BLOCK, valutare con attenzione le dipendenze dei dati nel blocco per assicurarsi che i dati risultanti siano accurati.

Valutazione del numero di membri sul lato destro dell'espressione

A volte potrebbe essere necessario estrarre i dati aggregati nella dimensione Nessun membro come nell'esempio seguente:

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

In questo esempio si cerca di memorizzate il risultato del calcolo dinamico a destra in un membro denso memorizzato. Per impostazione predefinita, Financial Consolidation and Close incapsula questo calcolo configurabile all'interno dei comandi SET HYBRIDBSOINCALCSCRIPT FULL; e SET HYBRIDBSOINCALCSCRIPT NONE;. Tuttavia, anche dopo l'incapsulamento, è possibile che le performance di questo calcolo non siano ottimali perché la lettura dei dati avviene nei membri di livello superiore. Per migliorare le performance, è possibile riscrivere i calcoli in modo che ne venga eseguita l'iterazione sui membri di livello 0 delle dimensioni richieste, anziché che venga eseguita la lettura dai membri di livello superiore, come illustrato nel seguente esempio:

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