Ordine di calcolo cella
L'ordine in cui Essbase calcola le celle all'interno di ciascun blocco di dati dipende dalla modalità di configurazione del database.
Ogni blocco di dati contiene tutti i valori dei membri dimensione completi per la relativa combinazione univoca di membri dimensione sparsa. Ogni valore di dati è contenuto in una cella del blocco di dati.
La modalità di configurazione del database determina l'ordine di calcolo dei membri dimensione con dati completi all'interno di ogni blocco, nonché l'ordine di calcolo dei blocchi che rappresentano i membri dimensione con sparsità.
Vedere gli esempi seguenti:
Ordine di calcolo cella: esempio 1
In questo esempio, che è il caso più semplice, queste condizioni sono vere:
-
Nessuna dimensione dispone di tag ora o conti.
-
L'impostazione per il consolidamento dei valori #MISSING è attivata.
-
Il mercato e l'anno sono dimensioni dense.
Essbase calcola le dimensioni dense nell'ordine in cui sono definite nel profilo del database. Si supponga che la dimensione Anno sia posizionata nel profilo del database prima della dimensione Mercato e venga calcolata per prima.
La griglia seguente mostra una slice (un sottoinsieme delle celle in un blocco di dati). Nella griglia, l'ordine di calcolo per le celle della sezione è rappresentato dai numeri da 1 a 6.
Tabella 19-3 Esempio di ordine di calcolo 1: celle di input e celle calcolate
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | 112.345 | 68.754 | 3 |
| Feb | 135.788 | 75.643 | 4 |
| Mar | 112.234 | 93.456 | 5 |
| Qtr1 | 1 | 2 | 6 |
I valori dei dati sono stati caricati nelle seguenti celle di input:
-
Jan -> New York
-
Febbraio -> New York
-
Mar -> New York
-
Jan -> Massachusetts
-
Feb -> Massachusetts
-
Mar -> Massachusetts
Essbase calcola le celle nell'ordine seguente.
-
Trimestre 1 -> New York
-
Trimestre 1 -> Massachusetts
-
Jan -> Est
-
Feb -> Est
-
Mar -> Est
-
Trimestre 1 -> Est
Qtr1 -> East ha più percorsi di consolidamento; può essere consolidato sul mercato o su anno. Quando consolidato sul mercato, si tratta di un consolidamento di Qtr1 -> New York e Qtr1 -> Massachusetts. Una volta consolidato l'anno, si tratta di un consolidamento di Jan -> East, Feb -> East, e Mar -> East.
Essbase sa che Qtr1 -> East dispone di più percorsi di consolidamento. Pertanto, calcola Qtr1 -> East una sola volta consolidando i valori per Qtr1 e utilizza il percorso di consolidamento della dimensione calcolata per ultima (in questo esempio, la dimensione Market), come mostrato di seguito.
Tabella 19-4 Esempio di ordine di calcolo 1: risultati
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | 112.345 | 68.754 | 181.099 |
| Feb | 135.788 | 75.643 | 211.431 |
| Mar | 112.234 | 93.456 | 205.690 |
| Qtr1 | 360.367 | 237.853 | 598.220 |
In base all'ordine di calcolo, se si posiziona una formula membro su Qtr1, Essbase la ignora durante il calcolo di Qtr1 -> Est. Se si posiziona una formula membro su East, la formula viene calcolata quando Essbase consolida Qtr1 -> East lungo Market.
Se necessario, è possibile utilizzare uno script di calcolo per calcolare le dimensioni nell'ordine scelto.
Ordine di calcolo cella: esempio 2
In questo esempio, queste condizioni sono vere:
-
Nessuna dimensione dispone di tag ora o conti.
-
L'impostazione per il consolidamento dei valori #MISSING è disattivata (impostazione predefinita).
-
Il mercato e l'anno sono dimensioni dense.
Essbase calcola le dimensioni dense nell'ordine in cui sono definite nel profilo del database. Si supponga che la dimensione Anno sia posizionata nel profilo del database prima della dimensione Mercato e venga calcolata per prima.
La griglia seguente mostra una slice (un sottoinsieme delle celle in un blocco di dati). Nella griglia, l'ordine di calcolo per le celle della sezione è rappresentato dai numeri da 1 a 7.
Tabella 19-5 Esempio di ordine di calcolo 2: celle di input e celle calcolate
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | 112.345 | 68.754 | 4 |
| Feb | 135.788 | 75.643 | 5 |
| Mar | 112.234 | 93.456 | 6 |
| Qtr1 | 1 | 2 | 3/7 |
I valori dei dati sono stati caricati nelle seguenti celle di input:
-
Jan -> New York
-
Febbraio -> New York
-
Mar -> New York
-
Jan -> Massachusetts
-
Feb -> Massachusetts
-
Mar -> Massachusetts
Essbase calcola le celle Qtr1 per le celle di New York, Massachusetts, East e East e East per Jan, Feb e March.
-
Trimestre 1 -> New York
-
Trimestre 1 -> Massachusetts
-
Trimestre 1 -> Est
-
Jan -> Est
-
Feb -> Est
-
Mar -> Est
-
Trimestre 1 -> Est
Qtr1 -> East viene calcolato sia sui percorsi di consolidamento Anno che Mercato. In primo luogo, Qtr1 -> East è calcolato come un consolidamento di Qtr1 -> New York e Qtr1 -> Massachusetts. In secondo luogo, Qtr1 -> East è calcolato come un consolidamento di Jan -> East, Feb -> East, e Mar -> East.
I risultati sono identici ai risultati, ad esempio 1. Tuttavia, Qtr1 -> East è stato calcolato due volte. Questo fatto è significativo quando è necessario caricare i dati a livello padre.
In base all'ordine di calcolo, se si posiziona una formula membro su Qtr1, il relativo risultato viene sovrascritto quando Essbase consolida Qtr1 -> East lungo Market. Se si posiziona una formula membro su Est, il risultato viene mantenuto perché il mercato viene calcolato per ultimo.
Tabella 19-6 Esempio di ordine di calcolo 2: risultati
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | 112.345 | 68.754 | 181.099 |
| Feb | 135.788 | 75.643 | 211.431 |
| Mar | 112.234 | 93.456 | 205.690 |
| Qtr1 | 360.367 | 237.853 | 598.220 |
Ordine di calcolo cella: esempio 3
In questo esempio, si consideri una porzione di dati in una dimensione densa e memorizzata. La configurazione del database determina che l'ordine delle dimensioni definisce l'ordine di calcolo. Esistono due percorsi di consolidamento in base ai quali verranno calcolati i blocchi.
In questo esempio, queste condizioni sono vere:
-
Nessuna dimensione dispone di tag ora o conti.
-
L'impostazione per il consolidamento dei valori #MISSING è disattivata (impostazione predefinita).
-
I valori dati sono stati caricati a livelli padre.
-
Il mercato e l'anno sono dimensioni dense.
Essbase calcola le dimensioni dense nell'ordine in cui sono definite nel profilo del database. Si supponga che la dimensione Anno sia posizionata nel profilo del database prima della dimensione Mercato e venga calcolata per prima.
La griglia seguente mostra una porzione (sottoinsieme delle celle in un blocco di dati) da calcolare.
Tabella 19-7 Esempio di ordine di calcolo 3: celle di input e valori #MISSING
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | #MANCANTE | #MANCANTE | 181.099 |
| Feb | #MANCANTE | #MANCANTE | 211.431 |
| Mar | #MANCANTE | #MANCANTE | 205.690 |
| Qtr1 | #MANCANTE | #MANCANTE |
Le celle vengono calcolate nello stesso ordine in Ordine di calcolo cella: esempio 2. Qtr1 -> East viene calcolato sia sui percorsi di consolidamento Anno che Mercato.
Poiché l'impostazione per il consolidamento dei valori #MISSING è disattivata, Essbase non consolida i valori #MISSING. Pertanto, i dati caricati a livello padre non vengono sovrascritti dai valori #MISSING sottostanti.
Tuttavia, se uno qualsiasi dei valori dati figlio non è #MISSING, questi valori vengono consolidati e sovrascrivono i valori padre. Ad esempio, se Jan -> New York contiene 50000,00, questo valore sovrascrive i valori caricati ai livelli padre.
Essbase deve calcolare due volte la cella Qtr1 -> East per assicurarsi che venga calcolato un valore per la cella. Se Qtr1 -> East viene calcolato solo in base all'ultimo percorso di consolidamento, il risultato è #MISSING, che non è il risultato richiesto.
I risultati mostrano che Essbase calcola in modo corretto la cella Qtr1 -> East consolidando Jan -> East, Feb -> East e Mar -> East, quindi calcola il percorso di consolidamento del mercato. Tuttavia, non consolida i valori #MISSING in Qtr1 -> New York e Qtr1 -> Massachusetts; pertanto, il valore in Qtr1 -> East non viene sovrascritto.
Tabella 19-8 Esempio di ordine di calcolo 3: risultati
| Mercato annuale | New York | Massachusetts | East |
|---|---|---|---|
| Gen | #MANCANTE | #MANCANTE | 181.099 |
| Feb | #MANCANTE | #MANCANTE | 211.431 |
| Mar | #MANCANTE | #MANCANTE | 205.690 |
| Qtr1 | #MANCANTE | #MANCANTE | 598.220 |
Ordine di calcolo cella: esempio 4
In questo esempio, considerare una porzione di dati in una dimensione memorizzata. La configurazione del database determina l'ordine in cui verranno calcolati i blocchi.
In questo esempio, queste condizioni sono vere:
-
La dimensione Anno è contrassegnata come Tempo.
-
La dimensione Misure è contrassegnata come Conti.
Essbase calcola prima una dimensione contrassegnata come Account, seguita da una dimensione contrassegnata come Tempo. Pertanto, in questo esempio, le misure vengono calcolate prima dell'anno.
-
L'impostazione per il consolidamento dei valori #MISSING è disattivata (impostazione predefinita).
-
I valori Marketing, Payroll e Spese varie sono stati caricati ai trimestri (livello 1).
L'immagine riportata di seguito mostra il ramo Profit della dimensione Measures nel database Sample Basic. In questo esempio si presuppone che vengano memorizzate le spese totali (non un membro Calcolo dinamico).
Figura 19-9 Profitto ramo della dimensione Misure

Poiché non esistono formule e #MISSING non si consolida, i valori di livello superiore non vengono sovrascritti. I valori dei dati con due percorsi di consolidamento (le misure non di livello 0) vengono calcolati due volte.
La griglia seguente mostra una slice (un sottoinsieme delle celle in un blocco di dati). Nella griglia, l'ordine di calcolo per le celle della sezione è rappresentato dai numeri da 1 a 17.
Tabella 19-9 Esempio di ordine di calcolo 4: celle di input, valori #MISSING e celle calcolate
| Misure/anno | Gen | Feb | Mar | Qtr1 |
|---|---|---|---|---|
| Vendite | 31.538 | 32.069 | 32.213 | 13 |
| COGS | 14.160 | 14307 | 14.410 | 14 |
| Margine | 1 | 4 | 7 | 15/10 |
| Marketing | #MANCANTE | #MANCANTE | #MANCANTE | 15.839 |
| Payroll | #MANCANTE | #MANCANTE | #MANCANTE | 12.168 |
| Misc | #MANCANTE | #MANCANTE | #MANCANTE | 233 |
| Spese totali | 2 | 5 | 8 | 11/16 |
| Profitto | 3 | 6 | 9 | 12/17 |
Le celle seguenti hanno più percorsi di consolidamento:
-
Margine -> Trimestre 1
-
Spese totali -> Trimestre 1
-
Profitto -> Trimestre 1
Poiché l'impostazione per il consolidamento dei valori #MISSING è disattivata, Essbase non consolida i valori #MISSING. I dati caricati a livello padre non vengono sovrascritti dai valori #MISSING e Essbase calcola le celle con più percorsi di consolidamento due volte.
In base all'ordine di calcolo, se si posiziona una formula su margine, il relativo risultato verrà sovrascritto dal consolidamento su Qtr1.
I risultati sono visualizzati di seguito.
Tabella 19-10 Esempio di ordine di calcolo 4: risultati
| Misure/anno | Gen | Feb | Mar | Qtr1 |
|---|---|---|---|---|
| Vendite | 31.538 | 32.069 | 32.213 | 95.820 |
| COGS | 14.160 | 14307 | 14.410 | 42.877 |
| Margine | 17.378 | 17.762 | 17.803 | 52.943 |
| Marketing | #MANCANTE | #MANCANTE | #MANCANTE | 15.839 |
| Payroll | #MANCANTE | #MANCANTE | #MANCANTE | 12.168 |
| Misc | #MANCANTE | #MANCANTE | #MANCANTE | 233 |
| Spese totali | 28.240 | |||
| Profitto | 17.378 | 17.762 | 17.803 | 12/17 |
Ordine di calcolo cella per formule su una dimensione densa
Quando si posiziona una formula su un membro dimensione densa, considerare attentamente l'ordine di calcolo della cella. Come illustrato negli esempi precedenti, la dimensione calcolata per ultimo sovrascrive i calcoli delle celle precedenti per le celle con più percorsi di consolidamento.
L'ordine di calcolo delle celle all'interno di un blocco dati non è influenzato dalle formule sui membri. Quando Essbase rileva una formula in un blocco di dati, blocca qualsiasi altro blocco di dati richiesto, calcola la formula e procede con il calcolo del blocco di dati.
Se necessario, è possibile utilizzare uno script di calcolo per modificare l'ordine di calcolo delle dimensioni. Vedere Sviluppo di script di calcolo per cubi di memorizzazione a blocchi e Sviluppo di formule per cubi di memorizzazione a blocchi.