Essbase BSO, comprensione delle dimensioni dense e sparse
Un'applicazione Essbase contiene due tipi di dati: i dati di input, che vengono caricati da tabelle relazionali o file di testo durante il caricamento del database, e i dati calcolati, che vengono calcolati a partire dai dati di input durante il calcolo del database. Entrambi i tipi di dati vengono archiviati in celle di una struttura di dati denominata blocco di dati.
Per ogni combinazione univoca di membri di dimensione sparse, Essbase crea:
- un blocco di dati che contiene i dati di tutte le combinazioni di membri nelle dimensioni dense.
- una voce di indice per quel blocco.
In questo esempio sono disponibili due dimensioni sparse (Market e Product) e tre dimensioni dense (Scenario, Time, Accounts):
Per ogni blocco di dati, Essbase associa un numero univoco, denominato numero di blocco, che determina l'ordine di calcolo dei blocchi di dati. Il numero di blocco (e quindi l'ordine di calcolo del blocco dei dati) viene assegnato a partire dal primo membro nella struttura:
Essbase crea un numero di blocco di 19 a partire da zero (in base all'ordine dei membri della dimensione Product) per il membro "New York" della dimensione Market:
Poi un altro 19 per il membro del Massachusetts della dimensione mercato, e così via …
E per ogni numero di blocco una voce di indice:
Si noti che Essbase crea un blocco di dati solo se esiste almeno una singola cella del blocco che non è vuota (che contiene un valore di dati). In caso contrario, il numero di blocco viene memorizzato per una possibile creazione futura del blocco associato.
Essbase non crea un numero di blocco per i membri condivisi: i membri condivisi sono solo puntatori a un membro archiviato relativo.