Dimensioni e membri
Se comprendi dimensioni e membri, sei sulla buona strada per comprendere la potenza di un database multidimensionale.
Ad esempio, Anno è una dimensione (di tipo Tempo) e Qtr1 è un membro:
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)Esistono due tipi di dimensioni: standard e attributo.
-
Le dimensioni standard rappresentano i componenti principali di un piano aziendale e spesso si riferiscono alle funzioni dipartimentali. Dimensioni standard tipiche: Tempo, Conti, Linea di prodotti, Mercato e Divisione. Le dimensioni cambiano meno frequentemente dei membri.
-
Le dimensioni attributo sono associate a dimensioni standard. Tramite le dimensioni attributo, è possibile raggruppare e analizzare i membri delle dimensioni standard in base agli attributi membro (caratteristiche). Ad esempio, è possibile confrontare la redditività dei prodotti non caffeinati confezionati in vetro con la redditività dei prodotti non caffeinati confezionati in lattine.
I membri sono i componenti individuali di una dimensione. Ad esempio, Prodotto A, Prodotto B e Prodotto C potrebbero essere membri della dimensione Prodotto. Ciascun membro presenta un nome univoco. I dati associati a un membro possono essere memorizzati (indicati come membro memorizzato in questo capitolo) o i dati possono essere calcolati dinamicamente quando un utente li recupera.
Gerarchie di profili
Iniziare a progettare il cubo Essbase definendo un profilo. L'organizzazione del profilo riflette la relazione delle categorie di dati come gerarchie strutturali e matematiche.
Lo sviluppo del database (cubo) di Essbase inizia con la creazione di un profilo, che raggiunge i seguenti obiettivi:
-
Definisce le relazioni strutturali
-
Organizza i dati
-
Definisce i consolidamenti e le relazioni matematiche tra gli elementi
Il concetto di membri viene utilizzato per rappresentare le gerarchie di dati. Ogni dimensione è costituita da uno o più membri. I membri, a loro volta, possono essere costituiti da altri membri. Quando si crea una dimensione, si definisce come consolidare i valori dei singoli membri. All'interno della struttura ad albero del profilo cubo, un consolidamento è un gruppo di membri in un ramo dell'albero.
Ad esempio, molte aziende riassumono i propri dati mensilmente, aggregando i dati mensili per ottenere cifre trimestrali e aggregando i dati trimestrali per ottenere cifre annuali. Le aziende possono anche riepilogare i dati per CAP, città, stato e paese. Qualsiasi dimensione può essere utilizzata per consolidare i dati a scopo di generazione report.
Nel cubo Sample.Basic, ad esempio, la dimensione Year include membri trimestre: Qtr1, Qtr2, Qtr3 e Qtr4, ognuno dei quali memorizza i dati per un singolo trimestre e Year, memorizzando i dati di riepilogo per l'anno. Il trimestre 1 include gennaio, febbraio e marzo, ognuno dei quali memorizza i dati per un mese e il trimestre 1, memorizzando i dati di riepilogo per il trimestre. Analogamente, Qtr2, Qtr3 e Qtr4 includono i membri che rappresentano i singoli mesi e il membro che memorizza i totali trimestrali.
La struttura gerarchica riportata di seguito rappresenta i consolidamenti e le relazioni dei dati nel trimestre 1.
Year Time
Qtr1 (+)
Jan (+)
......Feb (+)
......Mar (+)Alcune dimensioni sono costituite da relativamente pochi membri, mentre altri possono avere centinaia o migliaia di membri.
Relazioni dimensione e membro
L'organizzazione di un profilo Essbase viene descritta utilizzando la terminologia gerarchica e familiare, in quanto è un modo semplice per concettualizzare i ruoli e le relazioni dei membri all'interno di una dimensione. I termini gerarchici includono generazioni e livelli, che sono analoghi a radici e foglie. I termini familiari includono genitori, figli, fratelli, discendenti e antenati.
Gli argomenti secondari di questa sezione fanno riferimento alla struttura mostrata di seguito nella descrizione della posizione dei membri nella struttura.
Figura 2-1 Generazione di membri e numeri di livello

Genitori, figli e fratelli
La struttura illustra le seguenti relazioni padre, figlio e pari livello:
-
Un padre è un membro che ha una diramazione sotto di esso. Ad esempio, Margine è un membro padre per Vendite e Costo merce venduta.
-
Un figlio è un membro che ha un padre al di sopra di esso. Ad esempio, Vendite e costo merce venduta sono figli del margine padre.
-
I fratelli sono membri figlio dello stesso genitore immediato, alla stessa generazione. Ad esempio, Vendite e costo merce venduta sono di pari livello (entrambi hanno il margine padre), ma Marketing (allo stesso livello di filiale) non è di pari livello, perché il padre è Totale spese.
Discendenti e predecessori
La struttura illustra le seguenti relazioni discendenti e ancestrali:
-
I discendenti sono membri in rami sotto un padre. Ad esempio, Profitto, Magazzino e Rapporti sono discendenti di Misure. Anche i figli di Profitto, Inventario e Rapporti sono discendenti di Misure.
-
I predecessori sono membri nelle filiali sopra un membro. Ad esempio, Margine, Profitto e Misure sono predecessori di Vendite.
Radici e foglie
Il profilo illustra le seguenti relazioni dei membri radice e foglia:
-
La radice è il membro superiore di una diramazione. Le misure sono la radice per Profitto, Inventario e Rapporti.
-
I membri foglia non hanno figli e sono anche indicati come membri di livello 0. Ad esempio, Apertura magazzino, Incrementi e Magazzino finale sono membri di livello 0.
Generazioni e livelli
In Essbase, generazioni e livelli sono indicatori relativi alla posizione di un membro nella struttura del profilo. Una generazione indica la distanza di un membro dalla radice della dimensione. Un livello misura il numero di rami tra un membro e il membro più basso al di sotto di esso (una "foglia" gerarchica).
Generazioni
La generazione fa riferimento a un livello di consolidamento all'interno di una dimensione. Il ramo radice della struttura ad albero è generazione 1. I numeri generazione aumentano man mano che si procede dalla radice al membro foglia. Nel profilo, Misure è generazione 1, Profitto è generazione 2 e Margine è generazione 3. Tutti i fratelli di ogni livello appartengono alla stessa generazione; ad esempio, sia Inventory che Ratios sono generazione 2.
Nella figura seguente viene mostrata una parte della dimensione Prodotto, con le relative generazioni numerate. Prodotto è generazione 1, 100 è generazione 2, 100-10 è generazione 3, e 100-10-12 e 100-10-16 sono generazione 4.
Figura 2-2 Generazioni

Livelli
Il livello si riferisce anche a un ramo all'interno di una dimensione; i livelli invertono l'ordine numerico utilizzato per generazioni. I livelli vengono calcolati dal membro foglia verso la radice. Il numero del livello radice varia a seconda della profondità del ramo. Nell'illustrazione del profilo all'inizio di questa sezione, Vendite e costo merce venduta sono di livello 0. Anche tutti gli altri membri foglia sono di livello 0. Il margine è di livello 1 e il profitto è di livello 2. Si noti che il numero di livelli delle misure varia a seconda del ramo. Per il ramo Rapporti, Misure è il livello 2. Per la filiale Spese totali, Misure è di livello 3.
Nella figura seguente viene mostrata una parte della dimensione Prodotto con i relativi livelli numerati. 100 è il livello 2, 100-10 è il livello 1 e 100-10-12 e 100-10-16 è il livello 0.
Figura 2-3 Livelli

Nomi generazione e livelli
Per semplificare la manutenzione dei report, è possibile assegnare un nome a una generazione o a un livello e quindi utilizzare il nome come abbreviazione per tutti i membri di tale generazione o livello. Poiché le modifiche apportate a un profilo si riflettono automaticamente in un report, quando si utilizzano i nomi di generazione e livello, non è necessario modificare il report se il nome di un membro viene modificato o eliminato dal profilo del database.
Forme della gerarchia
Le gerarchie in Essbase possono essere simmetriche o asimmetriche (raggruppate).
Essbase gestisce alcune operazioni in modo diverso a seconda della forma della gerarchia. L'esportazione dei dati tabulari, alcune funzioni di calcolo (incluso @ANCESTVAL) e il mapping dei report drill-through possono avere risultati diversi quando una dimensione contiene gerarchie asimmetriche.
Gerarchie simmetriche
Nelle gerarchie simmetriche, i membri con lo stesso numero di livello hanno la stessa profondità nel profilo. Ad esempio, nel diagramma seguente, i membri 100-10 e 200-10 sono entrambi membri di livello 0 e sono entrambi membri di generazione 3:

I numeri di generazione iniziano a contare con 1 nel nome della dimensione; i numeri di generazione superiore sono quelli più vicini ai membri foglia in una gerarchia.
I numeri di livello iniziano con 0 nella parte più profonda della gerarchia; il numero di livello più alto è un nome di dimensione.
Gerarchie asimmetriche
Nelle gerarchie asimmetriche (o ragged), avere lo stesso numero di livello non significa che i membri siano alla stessa profondità nel profilo. Ad esempio, nel diagramma seguente, membro aa e membro f sono entrambi membri di livello 0, ma non sono alla stessa profondità:

Dimensioni standard e dimensioni attributo
In Essbase sono disponibili dimensioni standard e dimensioni attributo. Questo capitolo è incentrato sulle dimensioni standard, poiché Essbase non alloca la memorizzazione per i membri delle dimensioni attributo. Calcola invece in modo dinamico i membri quando l'utente esegue una query sui dati ad essi associati.
Una dimensione attributo è un tipo speciale di dimensione, associato a una dimensione standard. Fare riferimento alla sezione Utilizzo degli attributi Essbase.
Dimensioni sparse e dense
La maggior parte dei data set di database multidimensionali ha due caratteristiche:
-
I dati non vengono distribuiti in modo fluido e uniforme.
-
I dati non esistono per la maggior parte delle combinazioni di membri. Ad esempio, tutti i prodotti potrebbero non essere venduti in tutte le aree del paese.
La maggior parte dei database multidimensionali è intrinsecamente sparsa; mancano di valori di dati per la maggior parte delle combinazioni di membri. Una dimensione sparsa è quella con una percentuale ridotta di posizioni dati compilate.
Ad esempio, la struttura del database Sample.Basic nella Figura 2-4 include le dimensioni Anno, Prodotto, Mercato, Misure e Scenario. Prodotto rappresenta le unità di prodotto, Mercato rappresenta le aree geografiche in cui i prodotti vengono venduti e Misure rappresenta i dati dei conti. Poiché non tutti i prodotti sono venduti in ogni mercato, il mercato e il prodotto sono scelti come dimensioni sparse.
I database multidimensionali contengono anche dimensioni dense. Una dimensione densa ha un'alta probabilità che una o più celle siano occupate in ogni combinazione di dimensioni. Ad esempio, nel database Sample.Basic esistono dati sui conti per quasi tutti i prodotti in tutti i mercati, quindi Misure viene scelta come dimensione densa. Anno e scenario vengono scelti anche come dimensioni dense. Anno rappresenta il tempo in mesi e Scenario indica se i valori dei conti sono valori budget o effettivi.
Caffeinated, Intro Date, Once, Pkg Type e Population sono dimensioni attributo. Fare riferimento alla sezione Utilizzo degli attributi Essbase.
Quando un database Essbase viene memorizzato su disco, il prodotto cartesiano di combinazioni di membri dense forma unità di memorizzazione chiamate blocchi e un blocco viene scritto su disco per ogni combinazione di membri sparsi nel database.
Figura 2-4 Sample.Basic Database Outline

Selezione di quote dense e sparse
Nella maggior parte dei data set, i dati esistenti tendono a seguire modelli prevedibili di densità e sparsità. Se si abbinano correttamente i pattern, è possibile memorizzare i dati esistenti in un numero ragionevole di blocchi di dati abbastanza densi, anziché in molti blocchi di dati molto sparsi.
Per determinare se le dimensioni devono essere dense o sparse, Essbase fornisce un'opzione di configurazione automatica nelle proprietà del profilo.
Essbase può fornire suggerimenti per la configurazione sparsa delle dimensioni in base ai seguenti fattori:
-
Tag ora e conti nelle dimensioni
-
La dimensione probabile dei blocchi di dati
-
Caratteristiche che si attribuiscono alle dimensioni
È possibile applicare una configurazione consigliata oppure disattivare la configurazione automatica e impostare manualmente la proprietà sparsa o densa per ogni dimensione. Tenere presente che è possibile associare le dimensioni attributo solo alle dimensioni standard sparse.
Nota
La configurazione automatica delle dimensioni dense e sparse fornisce solo una stima. Non può tenere conto della natura dei dati che verranno caricati nel database o di più considerazioni degli utenti.
Configurazione Dense-Sparse per Sample.Basic
Si consideri il database Sample.Basic, che rappresenta i dati per The Beverage Company (TBC).
Poiché TBC non vende tutti i prodotti in ogni mercato, il set di dati è ragionevolmente scarso. I valori dei dati non esistono per molte combinazioni di membri nelle dimensioni Prodotto e Mercato. Ad esempio, se la Cola senza caffeina non viene venduta in Florida, i valori dei dati non esistono per la combinazione Cola senza caffeina (100-30) -> Florida, quindi Prodotto e mercato sono dimensioni scarse. Pertanto, se non esistono valori di dati per una combinazione specifica di membri in queste dimensioni, non viene creato un blocco di dati per la combinazione.
Tuttavia, considerare le combinazioni di membri nelle dimensioni Anno, Misure e Scenario. I valori dei dati esistono quasi sempre per alcune combinazioni di membri su queste dimensioni. Ad esempio, esistono valori di dati per la combinazione di membri Vendite -> Gennaio -> Effettivo, poiché almeno alcuni prodotti vengono venduti a gennaio. Quindi, Anno e, allo stesso modo, Misure e Scenario, sono dimensioni dense.
La configurazione sparse-dense delle dimensioni standard nel database Sample.Basic può essere riepilogata:
-
Le dimensioni standard sparse sono Prodotto e Mercato.
-
Le dimensioni standard dense sono Anno, Misure e Scenario.
Viene creato un blocco di dati per ogni combinazione univoca di membri nelle dimensioni Prodotto e Mercato (vedere Storage dei dati). Ogni blocco di dati rappresenta i dati delle dimensioni dense. È probabile che i blocchi di dati abbiano poche celle vuote.
Ad esempio, si consideri la combinazione di membri sparsi Caffeine Free Cola (100-30), New York, nella Figura 2-5:
-
Se i dati dei conti (rappresentati dalla dimensione Misure) esistono per questa combinazione per gennaio, è probabile che esistano per febbraio e per tutti i membri della dimensione Anno.
-
Se esiste un valore di dati per un membro nella dimensione Misure, è probabile che esistano altri valori di dati di conti per altri membri nella dimensione Misure.
-
Se esistono valori dei dati dei conti effettivi, è probabile che esistano valori dei dati dei conti budget.
Figura 2-5 Blocco di dati densi per database Sample.Basic

Scenari di selezione densa e sparsa
Negli scenari riportati di seguito viene illustrato l'impatto di un database quando si selezionano dimensioni standard diverse. Si supponga che questi scenari siano basati su database tipici con almeno sette dimensioni e diverse centinaia di membri.
Scenario 1: tutte le dimensioni standard sparse
Se si rendono sparse tutte le dimensioni, Essbase crea blocchi di dati costituiti da celle di dati singole contenenti valori di dati singoli. Viene creata una voce di indice per ogni blocco di dati e, pertanto, in questo scenario, per ogni valore di dati esistente.
Questa configurazione produce un indice che richiede una memoria di grandi dimensioni. Più voci di indice vengono cercate, più a lungo Essbase cerca un blocco specifico.
Figura 2-6 Database con tutte le dimensioni standard sparse

Scenario 2: tutte le dimensioni standard dense
Se si rendono dense tutte le dimensioni, Essbase crea una voce di indice e un blocco sparso di grandi dimensioni. Nella maggior parte delle applicazioni, questa configurazione richiede migliaia di volte più storage rispetto ad altre configurazioni. Essbase deve caricare l'intero database in memoria quando cerca qualsiasi valore di dati, che richiede una memoria enorme.
Figura 2-7 Database con tutte le dimensioni standard dense

Scenario 3: dimensioni standard dense e sparse
In base alla tua conoscenza dei dati della tua azienda, hai identificato tutte le dimensioni standard sparse e dense.
Essbase crea blocchi densi che possono essere inseriti facilmente nella memoria e crea un indice relativamente piccolo. Il database viene eseguito in modo efficiente utilizzando risorse minime.
Figura 2-8 Una configurazione ideale con combinazione di dimensioni dense e sparse

Scenario 4: un problema multidimensionale tipico
Si consideri un database con quattro dimensioni standard: Tempo, Account, Area e Prodotto. Nell'esempio seguente, Time and Accounts sono dimensioni dense e Region e Product sono dimensioni sparse.
I blocchi di dati bidimensionali mostrati nell'immagine seguente rappresentano i valori dei dati delle dimensioni dense: Tempo e Conti. I membri della dimensione Tempo sono J, F, M e Q1. I membri della dimensione Conti sono Rev, Exp e Net.
Figura 2-9 Blocco di dati bidimensionale per tempo e account

Essbase crea blocchi di dati per combinazioni di membri nelle dimensioni standard sparse (a condizione che esista almeno un valore di dati per la combinazione di membri). Le dimensioni sparse sono Area e Prodotto. I membri della dimensione Region sono East, West, South e Total US. I membri della dimensione Prodotto sono Prodotto A, Prodotto B, Prodotto C e Prodotto totale.
L'immagine seguente mostra 11 blocchi di dati. Non esistono valori dati per il Prodotto A in Occidente e in Sud, per il Prodotto B in Oriente e in Occidente o per il Prodotto C in Oriente. Pertanto, Essbase non ha creato blocchi di dati per queste combinazioni di membri. I blocchi di dati creati da Essbase hanno poche celle vuote. Questo esempio concentra efficacemente tutta la scarsità nell'indice e concentra tutti i dati in blocchi completamente utilizzati. Questa configurazione fornisce storage e recupero dati efficienti.
Figura 2-10 Blocchi di dati creati per i membri sparsi nell'area e nel prodotto

Successivamente, considerare uno storno delle selezioni delle dimensioni dense e sparse. Nell'esempio seguente, Region e Product sono dimensioni dense e Time e Accounts sono dimensioni sparse.
Nell'immagine seguente, i blocchi di dati bidimensionali rappresentano i valori dei dati delle dimensioni dense: Regione e Prodotto. Nell'area occidentale i dati non sono disponibili per il Prodotto A e il Prodotto B. I dati non sono inoltre disponibili per il prodotto totale negli Stati Uniti.
Figura 2-11 Blocco di dati bidimensionali per area e prodotto

Essbase crea blocchi di dati per combinazioni di membri nelle dimensioni standard sparse (a condizione che esista almeno un valore di dati per la combinazione di membri). Le dimensioni standard sparse sono Tempo e Conti.
L'immagine seguente mostra 12 blocchi di dati. Esistono valori di dati per tutte le combinazioni di membri nelle dimensioni Tempo e Conti. Pertanto, Essbase crea blocchi di dati per tutte le combinazioni di membri. Poiché i valori dei dati non esistono per tutti i prodotti in tutte le aree, i blocchi di dati hanno molte celle vuote. I blocchi di dati con molte celle vuote memorizzano i dati in modo inefficiente.
Figura 2-12 Blocchi di dati creati per i membri sparsi nei tempi e negli account
