Ordine di calcolo e ordine di soluzione in cubi ASO

L'ordine di calcolo per i cubi di memorizzazione di aggregazione (ASO) di Essbase è diverso da quello dei cubi di memorizzazione a blocchi. Le gerarchie memorizzate e le dimensioni attributo vengono consolidate, quindi le gerarchie dinamiche vengono valutate in base a un ordine di soluzione definito.

Per i cubi di memorizzazione di aggregazione, Essbase calcola i dati nell'ordine riportato di seguito.

  1. Aggrega i membri delle gerarchie memorizzate e delle dimensioni attributo. L'ordine di aggregazione dei membri e delle dimensioni viene ottimizzato internamente e cambia in base alla natura del profilo del cubo e alle aggregazioni esistenti. Poiché l'aggregazione è additiva, l'ordine in cui Essbase aggrega le dimensioni e i membri non influisce sui risultati.

    Poiché l'ordine di aggregazione interno per un cubo di memorizzazione di aggregazione non è prevedibile, anche gli errori di arrotondamento intrinseci non sono prevedibili. Questi errori di arrotondamento sono un comportamento previsto nel calcolo del computer e sono estremamente piccoli in relazione ai valori dei dati interessati.

  2. Calcola i membri e le formule della dimensione gerarchia dinamica. L'ordine di valutazione dei membri e delle formule è definito dalla proprietà dell'ordine di soluzione, che è possibile impostare per ogni membro o dimensione. L'ordine di calcolo può influire sui risultati del calcolo.

Proprietà ordine soluzione

Il concetto di ordine di soluzione si applica all'esecuzione delle query. Quando una cella viene valutata in una query multidimensionale, l'ordine in cui i calcoli devono essere risolti potrebbe essere ambiguo. Per rimuovere l'ambiguità, è possibile utilizzare la proprietà dell'ordine di soluzione per specificare la priorità di calcolo richiesta.

Nota

È buona norma specificare l'ordine di soluzione impostando la proprietà dell'ordine di soluzione a livello di membro o dimensione. I membri privi di formule che non dispongono di un'ordine di risoluzione specificato ereditano l'ordine di risoluzione della rispettivo dimensione. I membri con formule che non hanno un ordine di soluzione specificato hanno un ordine di soluzione pari a zero.

Per modificare l'ordine di soluzione, utilizzare Outline Editor nell'interfaccia Web diEssbase oppure Smart View. Per specificare l'ordine di soluzione per un membro calcolato, è possibile utilizzare il parametro solve_order nella sezione Con di una query MDX.

Il valore della proprietà dell'ordine di soluzione determina la priorità con cui Essbase calcola le formule. Le formule nei membri che dispongono di un determinato ordine di risoluzione vengono calcolate in ordine dall'ordine di soluzione più basso a quello più alto. È possibile specificare un ordine di soluzione compreso tra 0 e 127. L'impostazione predefinita è 0.

È possibile specificare l'ordine di soluzione a livello di membro o a livello di dimensione. Essbase utilizza le informazioni riportate di seguito per definire la precedenza del calcolo.

  1. Ordine di soluzione membro

  2. Ordine di risoluzione dimensione (i membri senza formule per i quali non si specifica un ordine di risoluzione membro ereditano l'ordine di risoluzione della dimensione. I membri con formule per le quali non si specifica un ordine di soluzione membro hanno un ordine di risoluzione pari a zero.)

    Se più membri hanno lo stesso ordine di soluzione, i membri vengono valutati nell'ordine inverso in cui le loro dimensioni si verificano nel profilo. Il membro che si verifica più avanti nel profilo ha la precedenza.

    L'ordine di calcolo della situazione di parità è diverso per i membri calcolati definiti in una query MDX per i cubi di memorizzazione a blocchi.

    Nota

    Quando una formula membro dipende dal valore di un altro membro, il membro con la formula deve avere un'ordine di risoluzione più alto rispetto a quello o ai membri da cui dipende. Ad esempio, nel profilo ASOSamp.Basic, Unità medie/Transazione dipende dal valore di Unità e di Transazioni. La media di unità/transazione deve avere un ordine di soluzione superiore a Unità e transazioni.

Esempio di utilizzo della proprietà Ordine di soluzione

L'esempio seguente è basato sul cubo ASOSamp.Basic. Per rimuovere l'ambiguità nei risultati delle query, l'esempio utilizza la proprietà dell'ordine di soluzione per specificare la priorità di calcolo richiesta.

La query del foglio di calcolo riportata di seguito recupera i dati per il numero di unità vendute e il numero di transazioni per gennaio dell'anno corrente e per gennaio dell'anno precedente. Il membro Varianza mostra la differenza tra l'anno corrente e l'anno precedente. Il membro Unità medie/Transazione mostra un rapporto tra il numero di unità vendute per transazione.

Figura 37-5 Risultati dalla query del foglio di calcolo del cubo ASOSamp.Basic che mostra la varianza tra due rapporti (C12)


Questa immagine mostra i risultati di una query foglio di calcolo, come descritto nel testo che precede l'immagine.

L'immagine seguente mostra la struttura del cubo per questi membri e le formule applicate ai membri Varianza e Media unità/transazione.

Figura 37-6 ASOSamp.Cubo di base che mostra le misure, gli anni e le dimensioni temporali


Questa immagine mostra un profilo, come descritto nel testo che precede l'immagine.

Quando si calcola la varianza delle unità medie per transazione (cella C12 nell'esempio del foglio di calcolo), il risultato potrebbe essere la varianza tra i due rapporti, oppure il risultato potrebbe essere il rapporto tra le due varianze. Il risultato dipende dal fatto che Essbase dia la precedenza alla formula su varianza o alla formula su unità/transazione medie.

Il valore della proprietà dell'ordine di soluzione, che è associata ai membri nel profilo, determina la priorità con cui Essbase valuta le formule. Maggiore è l'impostazione dell'ordine di risoluzione, più tardi nell'ordine in cui viene calcolato il membro. Ad esempio, una formula con l'ordine di soluzione 1 viene risolta prima che un membro con l'ordine di soluzione 2 venga risolto.

Nell'esempio, se il membro Varianza ha un ordine di soluzione inferiore al membro Unità medie/Transazione, la formula nel membro Varianza ha la precedenza e il risultato è la varianza tra due rapporti. Questo è il caso nel cubo ASOSamp.Basic, perché l'ordine di risoluzione del membro Varianza è 10 e l'ordine di risoluzione del membro Media unità/transazione è 20. La formula su varianza ha la precedenza, perché il membro Varianza ha un ordine di soluzione inferiore. Il risultato per la cella C12 della query nell'esempio del foglio di calcolo è la varianza tra i due rapporti, come mostrato nella tabella seguente:

Tabella 37-4 Utilizzo della proprietà dell'ordine di soluzione per specificare la varianza tra due rapporti

Membri Ordine di soluzione Formula Risultato intersezione varianza e media unità/transazione (cella C12)

Varianza

10

Anno corrente - Anno precedente

Unità medie/transazione anno corrente - Unità medie/transazione anno precedente

0,94894382 (cella C6) - 0,954252111 (cella C9) = -0,005308291 (cella C12)

Media unità/transazione

20

Unità/transazioni

In alternativa, se si modifica il cubo ASOSamp.Basic e si assegna al membro Unità medie/Transazione un ordine di soluzione inferiore a quello del membro Varianza, la formula nel membro Unità medie/Transazione ha la precedenza e il risultato è il rapporto di due varianze, come mostrato nella tabella e nell'esempio del foglio di calcolo riportato di seguito:

Tabella 37-5 Utilizzo della proprietà dell'ordine di soluzione per specificare il rapporto di due varianze

Membri Ordine di soluzione Formula Risultato intersezione varianza e media unità/transazione (cella C12)

Varianza

20

Anno corrente - Anno precedente

Varianza (anno corrente rispetto all'anno precedente) delle unità/scostamento delle transazioni

10585 (cella C10) / 11340 (cella C11) = 0,933421517 (cella C12)

Media unità/transazione

10

Unità/transazioni

Figura 37-7 Risultati da Query foglio di calcolo di ASOSamp.Cubo di base che mostra il rapporto di due varianze (C12)


Questa immagine mostra i risultati di una query foglio di calcolo, come descritto nel testo che precede l'immagine.