Superamenti calcolo
Quando possibile, Essbase calcola un database di memorizzazione a blocchi in un passaggio di calcolo. In alcune situazioni, Essbase deve effettuare più passaggi.
In genere, Essbase calcola un cubo BSO in un pass-through di calcolo e ciascuno dei blocchi di dati richiesti viene letto in memoria una sola volta, quindi calcolato e salvato. In alcuni casi, tuttavia, Essbase potrebbe dover eseguire più passaggi di calcolo. Nelle passate successive, Essbase riporta i blocchi di dati in memoria, esegue ulteriori calcoli su di essi e li salva nuovamente.
Quando si esegue un calcolo completo e predefinito di un database (CALC ALL), Essbase tenta di calcolare il database in un solo passaggio. Se le dimensioni sono contrassegnate come conti o tempo, Essbase potrebbe dover eseguire più passaggi di calcolo nel database.
La tabella riportata di seguito mostra il numero di calcoli eseguiti da Essbase se sono presenti dimensioni contrassegnate come tempo o conti e se nella dimensione conti è presente almeno una formula.
Tabella 19-11 Passi calcolo per conti e dimensione tempo
| Dimensione contrassegnata come conti | Dimensione contrassegnata come tempo | Superamenti calcolo | Durante ogni passaggio di calcolo, Essbase calcola in base a: |
|---|---|---|---|
|
Densa o Sparsa |
Nessuno. |
1 |
Tutte le dimensioni |
|
Densa |
Densa |
1 |
Tutte le dimensioni |
|
Densa |
Sparsa |
2 |
Passaggio 1: conti e dimensioni tempo Passaggio 2: Altre dimensioni |
|
Sparsa |
Sparsa |
2 |
Passaggio 1: conti e dimensioni tempo Passaggio 2: Altre dimensioni |
|
Sparsa |
Densa |
2 |
Passaggio 1: dimensione Conti Passaggio 2: Altre dimensioni |
Se si utilizzano formule contrassegnate come a due passaggi, Essbase potrebbe dover eseguire un passaggio di calcolo extra per calcolare queste formule.
Quando si utilizza uno script di calcolo per calcolare un database, il numero di calcoli che Essbase deve eseguire dipende dallo script di calcolo.
Essbase scrive nel log dell'applicazione l'ordine di calcolo delle dimensioni per ogni passaggio e il numero di cicli nel cubo eseguiti.
Per ogni blocco, Essbase decide se eseguire un calcolo denso o sparso, a seconda del tipo di valori nel blocco. Quando si esegue un calcolo predefinito (CALC ALL), ogni blocco viene elaborato in ordine, in base al relativo numero di blocco.
Essbase calcola i blocchi utilizzando questa procedura:
-
Se l'opzione Calcolo intelligente è attivata e il blocco non deve essere calcolato (se è contrassegnato come pulito), Essbase salta il blocco e passa al blocco successivo.
-
Se il blocco deve essere ricalcolato, Essbase controlla se il blocco è di livello 0, un input o un blocco di livello superiore.
-
Se il blocco è un blocco di livello 0 o un blocco di input, Essbase esegue un calcolo denso sul blocco. Ogni cella del blocco viene calcolata.
-
Se il blocco è di livello superiore, Essbase consolida i valori o esegue un calcolo sparso sul blocco.
La combinazione di membri sparsi di ogni blocco di livello superiore contiene almeno un membro padre. Essbase consolida o calcola il blocco in base alla dimensione del membro padre. Ad esempio, se il blocco di livello superiore è per Prodotto -> Florida dal database Sample.Basic, Essbase sceglie la dimensione Prodotto.
Se la combinazione di membri sparsi per il blocco contiene più membri padre, Essbase sceglie l'ultima dimensione nell'ordine di calcolo che include un membro padre. Ad esempio, se il blocco è per Prodotto -> Est ed è possibile eseguire un calcolo predefinito nel database Sample.Basic, Essbase sceglie la dimensione Mercato, che contiene Est. La dimensione Mercato è l'ultima nell'ordine di calcolo predefinito perché viene inserita dopo la dimensione Prodotto nel profilo del database. Vedere Ordine di calcolo membri.
In base alla dimensione sparsa scelta, Essbase consolida i valori o esegue un calcolo sparso sul blocco:
-
Se una formula viene applicata al membro blocco nella dimensione sparsa scelta, Essbase esegue un calcolo della formula sulla dimensione sparsa. Essbase valuta ogni cella del blocco. La formula interessa solo il membro della dimensione sparsa, pertanto le prestazioni di calcolo globali non sono interessate in modo significativo.
-
Se la dimensione sparsa scelta è un consolidamento predefinito, Essbase consolida i valori, prendendo i valori dei blocchi figlio calcolati in precedenza.
-