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, si consideri una porzione di dati in una dimensione densa e memorizzata. L'ordine delle dimensioni definisce l'ordine di calcolo. I valori #MISSING devono essere consolidati e non esistono formule. Essbase è in grado di calcolare la sezione in un unico passaggio.

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.

  1. Trimestre 1 -> New York

  2. Trimestre 1 -> Massachusetts

  3. Jan -> Est

  4. Feb -> Est

  5. Mar -> Est

  6. 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, considerare una porzione di dati in una dimensione memorizzata e densa. La configurazione del database determina che l'ordine delle dimensioni definisce l'ordine di calcolo. Un blocco deve essere calcolato due volte.

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.

  1. Trimestre 1 -> New York

  2. Trimestre 1 -> Massachusetts

  3. Trimestre 1 -> Est

  4. Jan -> Est

  5. Feb -> Est

  6. Mar -> Est

  7. 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.

I dati di input non di livello 0 devono essere calcolati lungo i membri dell'area della dimensione Mercato. Mancano i dati per i mercati minori. Anche se i valori #MISSING non sono consolidati e non esistono formule, Essbase effettua due passaggi.

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.

Alcuni dati di input non di livello 0 devono essere calcolati lungo i membri del trimestre della dimensione Tempo. Dati mancanti per i mesi figlio. La configurazione di questo cubo, la dimensione Conti viene calcolata per prima e i valori #MISSING non vengono consolidati. Nessuna formula nella gerarchia conti di questa sezione.

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


Ramo profitto 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.