Monitora e traccia calcoli

Monitorare e tracciare i calcoli di Essbase per ottenere approfondimenti sull'elaborazione delle formule membro. CALCTRACE e SET TRACE consentono di tracciare i calcoli eseguiti da Smart View o nei calcoli memorizzati. Per registrare le statistiche sulle prestazioni per i test, è possibile utilizzare SET MSG e SET NOTICE.

Per abilitare il TRACE di calcolo, utilizzare la proprietà di configurazione CALCTRACE e quindi Smart View per avviare il TRACE sensibile al contesto oppure il comando SET TRACE in uno script di calcolo per selezionare le intersezioni di dati da tracciare. Per ulteriori informazioni, vedere Calcoli traccia.

Per visualizzare informazioni sul calcolo del cubo da parte di Essbase nel log dell'applicazione, è possibile utilizzare SET MSG e SET NOTICE in uno script di calcolo. Fare riferimento alla sezione Comandi SET per test e statistiche di calcolo.

Eseguire il trace dei calcoli

Utilizzare il trace dei calcoli Essbase per ottenere approfondimenti sull'elaborazione della formula membro in modo da facilitare il debug e il perfezionamento degli script di calcolo della memorizzazione a blocchi. Abilitare CALCTRACE per il trace dei calcoli sensibile al contesto di Smart View oppure usare il comando SET TRACE per selezionare le intersezioni di cui eseguire il trace.

La funzione di trace dei calcoli consente di accedere alle informazioni relative a un calcolo registrate dopo l'esecuzione riuscita di uno script di calcolo su un cubo.

L'esecuzione del trace di un calcolo non modifica il funzionamento del calcolo. Se un calcolo viene avviato in Smart View e un amministratore ha abilitato il trace dei calcoli nel server connesso, Smart View visualizzerà una finestra di dialogo popup con i dettagli al termine dell'esecuzione del calcolo. Le informazioni di trace dei calcoli visualizzate nella finestra di dialogo popup possono essere incollate in un editor di testo. In alternativa, è possibile trovare le stesse informazioni in calc_trace.txt, che si trova nella directory di file del database in Essbase.

Le informazioni del trace dei calcoli facilitano l'esecuzione degli script di calcolo di debug, nel caso in cui i risultati del calcolo non siano quelli previsti.

Il trace dei calcoli non è supportato nelle applicazioni con gestione degli scenari abilitata.

Per abilitare il tracciamento dei calcoli, l'amministratore deve attivare preventivamente il parametro della configurazione applicazione CALCTRACE. Dopo aver abilitato il trace dei calcoli per l'applicazione, esistono due modi per sfruttarne le caratteristiche:

  • in Smart View è possibile utilizzare il trace contestuale per un singolo valore di cella;
    1. in Smart View collegare un foglio di query all'applicazione per la quale è stato abilitato il trace dei calcoli.
    2. Evidenziare la cella di dati per la quale si desidera eseguire il trace del valore calcolato.
    3. Nel Pannello dati della scheda Essbase fare clic sul pulsante Calcola e selezionare lo script di calcolo da eseguire. Verrà visualizzato il punto di vista dalla cella di dati nei prompt di runtime dei membri del trace.
    4. Fare clic su Avvia per eseguire lo script di calcolo.

      Il calcolo interesserà l'ambito completo contenuto nello script, ma durante l'operazione il trace riguarderà solo il contesto della cella di dati evidenziata.

    5. Al termine dell'esecuzione dello script di calcolo esaminare la finestra di dialogo Risultato calcolo, che mostra i risultati precedenti e successivi al calcolo per la cella di dati evidenziata.

      Se la cella di dati evidenziata non è stata modificata durante il calcolo, verrà visualizzato un messaggio per indicare tale condizione.

  • Negli script di calcolo è possibile utilizzare il comando del calcolo SET TRACE per selezionare le intersezioni dati di cui eseguire il TRACE. SET TRACE consente di eseguire il trace di più celle dati. È inoltre possibile eseguire il TRACE delle sezioni degli script di calcolo utilizzando una combinazione di SET TRACE mbrList (per attivare la traccia di calcolo su una lista di membri) e SET TRACE OFF (per disabilitare la traccia di calcolo finché non viene rilevato un nuovo comandi SET TRACE nello script). Per utilizzare il comando SET TRACE, è necessario eseguire lo script di calcolo al di fuori di Smart View, utilizzando Cube Designer, il comando CLI calc, un job Esegui calcolo nell'interfaccia Web di Essbase o MaxL (istruzione Esegui calcolo).

Lo script di calcolo riportato di seguito viene eseguito su Sample Basic. Lo script include un comando SET TRACE per la richiesta di registrazione di informazioni dettagliate per l'intersezione dati (cella) che rappresenta la vendita di gennaio a budget, nel mercato California, per il numero SKU di prodotto 100-10.

SET TRACEID "id042"
SET TRACE ("100-10", "California", "Jan", "Sales", "Budget");
FIX("California", "Budget")
   "Sales" (
      "100-10" = @MEMBER(@CONCATENATE(@NAME(@PARENT("Product")), "-20")) / 10;
   );
ENDFIX;

Nota

È inoltre consigliato il comando SET TRACEID per evitare che il file di trace di calcolo venga sovrascritto.

Sample Basic contiene due dimensioni sparse: Product e Market. La formula membro è in Sales, un membro della dimensione densa Measures. La lista dei membri dell'istruzione FIX contiene soltanto il membro sparso California, che appartiene alla dimensione Market.

Il numero di blocchi esistenti nell'ambito FIX determina il numero di esecuzioni del calcolo della cella interessata dal trace. In questo esempio, il calcolo viene eseguito su tutte le combinazioni di membri sparsi esistenti di California. Ognuna di queste combinazioni rappresenta un blocco.

Al termine dell'esecuzione del calcolo, vengono registrate e visualizzate le informazioni di trace seguenti in calc_trace_id042.txt:

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 1)
Previous value: 840.00
Dependent values: 
	[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00

Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 2)
Block from FIX scope: [100-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
	[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 3)
Block from FIX scope: [200-10][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
	[200-20][California][Jan][Sales][Budget] = 520.00
New value: [100-10][California][Jan][Sales][Budget] = 52.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

[...calc iterations 4-7 are omitted from example...]

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 8)
Block from FIX scope: [400-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 9.00
Dependent values: 
	[400-20][California][Jan][Sales][Budget] = 90.00
New value: [100-10][California][Jan][Sales][Budget] = 9.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Il log di trace dei calcoli fornisce gli approfondimenti seguenti sul funzionamento del calcolo sulla cella di cui è stato eseguito il trace.

  • La cella interessata dal trace è stata calcolata numerose volte e il valore della cella è stato sovrascritto ogni volta con il nuovo valore (il conteggio degli aggiornamenti della cella segnalato si arresta a 8).

  • Il valore della cella, prima del calcolo, era 840.00.

  • Per ogni ricorrenza del calcolo vengono mostrati i valori dipendenti e i nuovi valori. I valori dipendenti provengono dalla formula membro nell'istruzione FIX.

  • Il valore finale della cella tracciata, al termine di tutti i calcolo, è 9, ma rappresenta il valore del prodotto "400-20"->California diviso per 10.

  • Le righe 91-93 dello script di calcolo, che contengono una formula membro per Sales, sono responsabili dei valori aggiornati.

Per ognuno dei blocchi interessati, Sales viene calcolato con questa formula:

"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10

La formula contiene un membro sparso a sinistra, che potrebbe far sì che il blocco di calcolo effettivo sia diverso dal blocco FIX iniziale. Ad esempio quando il calcolo raggiunge "California"->"100-20", i calcoli vengono effettivamente eseguiti in "California"->"100-10".

Le voci dei log di trace intitolate Block from FIX scope e Actual block used in calculation vengono stampate solo se esiste una discrepanza tra il blocco nell'istruzione FIX e il blocco rappresentato nella formula membro. Queste voci del log possono fornire indicazioni utili a capire la causa dell'esecuzione di calcoli duplicati, facilitando il debug degli script di calcolo.

Comandi SET per Calc Testing and Statistics

È possibile utilizzare i comandi SET negli script di calcolo della memorizzazione a blocchi di Essbase per raccogliere informazioni di calcolo, impostazioni e statistiche utili per il test e il monitoraggio delle prestazioni di calcolo. I comandi sono SET MSG SUMMARY, SET MSG DETAIL e SET NOTICE.

SET MSG SINTESI e SET DETTAGLI MSG

È possibile utilizzare i comandi di calcolo SUMMARY e SET MSG DETAIL di SET MSG in uno script di calcolo per eseguire le operazioni riportate di seguito.

  • Visualizza le impostazioni di calcolo, ad esempio se i messaggi di avviso di completamento sono abilitati

  • Fornire statistiche sul numero di blocchi di dati creati, letti e scritti

  • Fornire statistiche sul numero di celle dati calcolate

SET MSG DETAIL fornisce inoltre un messaggio informativo ogni volta che Essbase calcola un blocco dati. SET MSG DETAIL è utile per rivedere l'ordine di calcolo dei blocchi di dati e per testare i ricalcoli intelligenti.

Attenzione

Poiché SET MSG DETAIL causa un elevato sovraccarico di elaborazione, utilizzarlo solo durante i calcoli dei test.

SET MSG SUMMARY causa un sovraccarico di elaborazione di circa l'1% al 5%, a seconda delle dimensioni del cubo, ed è quindi appropriato per tutti i calcoli.

IMPOSTA AVVISO

È possibile utilizzare il comando di calcolo AVVISO SET in uno script di calcolo per visualizzare gli avvisi di completamento del calcolo che indicano la percentuale di calcolo del cubo. È possibile utilizzare il comando SET MSG SUMMARY con il comando SET NOTICE per visualizzare l'avanzamento del calcolo tra gli avvisi di completamento. Gli avvisi di completamento non riducono in modo significativo le prestazioni di calcolo, tranne quando vengono utilizzati con un cubo molto piccolo.