Modalità di modifica dell'ordine di calcolo del calcolo dinamico
Calcolo dinamico ottimizza le prestazioni del calcolo batch e modifica l'ordine in cui Essbase calcola i valori. Le dimensioni sparse vengono calcolate per prime. Prendere le precauzioni necessarie quando si utilizza Calcolo dinamico in set di dati asimmetrici o con membri a due passaggi.
L'utilizzo di valori di dati calcolati in modo dinamico modifica l'ordine in cui Essbase calcola i valori e può avere implicazioni per la modalità di amministrazione del cubo.
Ordine di calcolo per il calcolo dinamico
Quando si utilizza Calcolo dinamico, Essbase calcola prima i valori delle dimensioni sparse e poi dense. I valori densi vengono calcolati nell'ordine dei conti, nel tempo, nelle serie temporali, in altre dimensioni dense e, infine, negli attributi.
Quando Essbase calcola in modo dinamico i valori dei dati, questi vengono calcolati in un ordine diverso dall'ordine di calcolo del database batch.
Durante i calcoli batch, Essbase calcola il database nel seguente ordine:
-
Dimensione contrassegnata come conti
-
Dimensione contrassegnata come ora
-
Altre dimensioni dense (nell'ordine in cui vengono visualizzate nel profilo del database)
-
Altre dimensioni sparse (nell'ordine in cui vengono visualizzate nel profilo del database)
-
Calcoli a due passi
Vedere Ordine di calcolo del database di storage a blocchi.
Per i valori calcolati in modo dinamico, durante il recupero Essbase calcola i valori calcolando il database nell'ordine riportato di seguito.
-
Dimensioni sparse
-
Se la dimensione contrassegnata come tempo è sparsa e il profilo del database utilizza i dati delle serie temporali, Essbase basa il calcolo sparso sulla dimensione tempo.
-
In caso contrario, Essbase basa il calcolo sulla dimensione che utilizza normalmente per un calcolo batch.
-
-
Dimensioni dense
-
Dimensione contrassegnata come conti, se densa
-
Dimensione contrassegnata come tempo, se densa
-
Calcoli delle serie temporali
-
Dimensioni dense rimanenti
-
Calcoli a due passi
-
Attributi
-
Se il recupero dati utilizza membri attributo, l'ultimo passo dell'ordine di calcolo è la somma degli attributi. Il calcolo degli attributi esegue l'aggregazione in tempo reale sui blocchi di dati che corrispondono ai membri degli attributi specificati nella query. Quando la query contiene membri di calcolo a due passaggi, il calcolo degli attributi applica la formula del membro di calcolo a due passaggi dopo la raccolta di tutti i valori aggregati. Questo calcolo a due passaggi utilizza i valori dei dati del calcolo dell'attributo, non i valori di un blocco di dati reale.
L'uso dei membri attributo nella query fa sì che Essbase ignori il valore del membro Saldo tempo nei calcoli dinamici. Durante i recuperi che non utilizzano attributi, il valore del membro Saldo tempo viene applicato ai calcoli. La differenza nella procedura di calcolo tra l'uso e il non uso dei membri attributo genera risultati diversi per tutti i membri tempo di livello superiore calcolati dinamicamente.
Durante i recuperi che non utilizzano attributi, questi membri calcolati dinamicamente vengono calcolati nell'ultimo passo e, pertanto, applicano correttamente la funzionalità di bilanciamento del tempo. Tuttavia, durante i recuperi che utilizzano attributi, la somma dell'attributo è l'ultimo passo applicato. La differenza nell'ordine di calcolo produce due risultati diversi e prevedibili per i membri del tempo di livello superiore che vengono calcolati dinamicamente.
Ordine di calcolo per il calcolo dinamico dei membri a due passaggi
Calcolo dinamico modifica l'ordine in cui Essbase calcola i valori. Prendere precauzioni quando si utilizza Calcolo dinamico con membri a due passaggi. Prendi in considerazione l'utilizzo della modalità ibrida con l'ordine di soluzione.
Prendere in considerazione le informazioni riportate di seguito per assicurarsi che Essbase produca il risultato del calcolo richiesto quando calcola dinamicamente i valori dei dati per i membri contrassegnati come a due passaggi (vedere Calcolo a due passaggi).
Nota
Non utilizzare il calcolo a due passaggi con i cubi in modalità ibrida. Utilizzare solo risolvi ordine.
Se più membri dimensione densa di Calcolo dinamico sono contrassegnati come due passaggi, Essbase esegue il calcolo dinamico nel primo passaggio, quindi calcola i membri a due passaggi in questo ordine:
-
Membri a due passaggi nella dimensione conti, se presenti
-
Membri a due passaggi nella dimensione tempo, se presenti
-
Membri a due passaggi nelle restanti dimensioni dense nell'ordine in cui le dimensioni vengono visualizzate nel profilo
Ad esempio, nel database Sample.Basic, si supponga quanto segue:
-
La percentuale margine nella dimensione Misure dense (la dimensione contrassegnata come conti) è contrassegnata come Calcolo dinamico e a due passaggi.
-
La varianza nella dimensione scenario denso viene contrassegnata come Calcolo dinamico e a due passaggi.
Essbase calcola prima il membro della dimensione dei conti. Pertanto, Essbase calcola la percentuale di margine (dalla dimensione Misure) e quindi calcola la varianza (dalla dimensione Scenario).
Se Scenario è una dimensione sparsa, Essbase calcola la varianza in primo luogo, seguendo l'ordine di calcolo regolare per i calcoli dinamici. Essbase calcola quindi il margine%. Vedere Ordine di calcolo per il calcolo dinamico.
Questo ordine di calcolo non produce il risultato richiesto, perché Essbase deve calcolare % margine -> Varianza utilizzando la formula sulla percentuale margine e non la formula sulla varianza. È possibile evitare questo problema rendendo Scenario una dimensione densa. Questo problema non si verifica se la dimensione Misure (la dimensione conti) è sparsa, perché Essbase calcola ancora la percentuale margine.
Ordine di calcolo per dati asimmetrici
Il calcolo dinamico di Essbase potrebbe non essere adatto per l'utilizzo con set di dati asimmetrici. Rivedere gli esempi in questo argomento rispetto al caso d'uso.
Poiché l'ordine di calcolo di Calcolo dinamico è diverso da quello dei calcoli batch, in alcuni profili di cubo è possibile ottenere risultati di calcolo diversi se si contrassegnano determinati membri come Calcolo dinamico. Queste differenze si verificano quando Essbase calcola in modo dinamico i dati asimmetrici.
I calcoli simmetrici dei dati producono gli stessi risultati indipendentemente dalla dimensione calcolata.
Utilizzando il set di dati nell'esempio simmetrico riportato di seguito, il calcolo per Qtr1-> Profit produce lo stesso risultato se si calcola lungo la dimensione contrassegnata come tempo o la dimensione contrassegnata come conti. Calcolare lungo la dimensione tempo, aggiungere i valori per Gen, Feb e Mar:
50+100+150=300 Calcolo lungo la dimensione dei conti, sottrarre Qtr1 -> COGS da Qtr1 -> Vendite:
600–300=300 Tabella 21-1 Esempio di calcolo simmetrico
| Ora -> conti | Gen | Feb | Mar | Qtr1 |
|---|---|---|---|---|
|
Vendite |
100 |
200 |
300 |
600 |
|
COGS |
50 |
100 |
150 |
300 |
|
Profitto (Vendite - COGS) |
50 |
100 |
150 |
300 |
I calcoli dei dati asimmetrici calcolano in modo diverso lungo dimensioni diverse.
Utilizzando il set di dati nell'esempio asimmetrico riportato di seguito, il calcolo per East -> Sales produce il risultato corretto quando si esegue il calcolo lungo la dimensione Market, ma produce un risultato errato quando si esegue il calcolo lungo la dimensione Accounts. Il calcolo lungo la dimensione Market, l'aggiunta dei valori per New York, Florida e Connecticut produce i risultati corretti:
50 + 100 + 100 = 250Il calcolo lungo la dimensione dei conti, moltiplicando il valore East -> Price per il valore East -> UnitsSold produce risultati errati:
15 * 50 = 750Tabella 21-2 Esempio di calcolo asimmetrico
| Mercato -> Conti | New York | Florida | Connecticut | East |
|---|---|---|---|---|
|
Unità vendute |
10 |
20 |
20 |
50 |
|
Prezzo |
5 |
5 |
5 |
15 |
|
Vendite (prezzo * unità vendute) |
50 |
100 |
100 |
250 |
Nel seguente profilo, East è una dimensione sparsa e Accounts è una dimensione densa:

Se East e Sales sono contrassegnati come Calcolo dinamico, Essbase calcola un risultato diverso da quello ottenuto se East e Sales non sono contrassegnati come Calcolo dinamico.
Se East e Sales non sono membri di Calcolo dinamico, Essbase produce il risultato corretto calcolando le dimensioni riportate di seguito.
-
Dimensione Dense Accounts: calcolo dei valori di UnitsSold, Price e Sales per New York, Florida e Connecticut
-
Dimensione Sparse East: aggregazione dei valori calcolati per UnitsSold, Price e Sales per New York, Florida e Connecticut per ottenere i valori Sales per East
Se East e Sales sono membri di Calcolo dinamico, Essbase produce un risultato errato calcolando le dimensioni riportate di seguito.
-
Dimensione Sparse East: aggregazione dei valori di UnitsSold, Price e Sales per New York, Florida e Connecticut per ottenere i valori di East
-
Valori per East -> Sales: acquisizione dei valori aggregati nei blocchi di dati East ed esecuzione di un calcolo della formula con questi valori per ottenere il valore per Sales
Per evitare questo problema e assicurarsi di ottenere i risultati richiesti, non contrassegnare il membro Sales come Calcolo dinamico.
Ordine di soluzione in modalità ibrida
L'ordine di soluzione in Essbase determina l'ordine di esecuzione del calcolo dinamico in modalità ibrida. È possibile personalizzare l'ordine di soluzione o accettare il valore predefinito, ottimizzato per garantire un'analisi avanzata delle prestazioni e delle dipendenze.
Il concetto di ordine di soluzione si applica all'esecuzione dei calcoli dinamici, indipendentemente dal fatto che l'avvio avvenga tramite una formula del membro dinamico o una dipendenza dinamica in uno script di calcolo. Quando una cella viene valutata in una query multidimensionale, l'ordine di risoluzione dei calcoli potrebbe essere ambiguo, a meno che non si specifichi un ordine di soluzione per indicare la priorità di calcolo richiesta.
È possibile impostare l'ordine di soluzione per le dimensioni o i membri oppure utilizzare l'ordine di soluzione Essbase predefinito. L'ordine di soluzione minimo e massimo che è possibile impostare è, rispettivamente, 0 e 127. Un ordine di soluzione superiore indica che il membro viene calcolato in un secondo momento: ad esempio, un membro con un ordine di soluzione pari a 1 viene risolto prima di un membro con un ordine di soluzione uguale a 2.
Quando la modalità ibrida è abilitata, l'ordine di soluzione predefinito (anche noto come ordine di calcolo) corrisponde a quello dei database di memorizzazione a blocchi:
| Tipo di dimensione/membro | Valore ordine di soluzione predefinito |
|---|---|
| Membri memorizzati | 0 |
| Membri della dimensione sparsa | 10 |
| Membri della dimensione Conto densa | 30 |
| Membri della dimensione Tempo densa | 40 |
| Membri della dimensione normale densa | 50 |
| Membri della dimensione Attributo | 90 |
| Membri dinamici a due passaggi | 100 |
| Membri o set denominati calcolati via MDX (definiti in MDX With) | 120 |
In sintesi, l'ordine di soluzione predefinito in modalità ibrida stabilisce che i membri memorizzati vengano calcolati prima dei membri di calcolo dinamici e che le dimensioni sparse vengano calcolate prima delle dimensioni dense, nell'ordine in cui appaiono nel profilo (dall'alto verso il basso).
I membri dinamici (con o senza formule) che non dispongono di un ordine di soluzione specificato ereditano l'ordine di soluzione della rispettiva dimensione, a meno che non siano stati contrassegnati come a due passaggi.
Il calcolo a due passaggi è un'impostazione che è possibile applicare, in modalità di memorizzazione a blocchi, ai membri con formule che devono essere calcolate due volte per produrre il valore corretto.
Nota
Non utilizzare il calcolo a due passaggi con i cubi in modalità ibrida. Utilizzare solo risolvi ordine.
La modalità a due passaggi non è applicabile in modalità ibrida e tutti i membri contrassegnati come due passaggi vengono calcolati per ultimi, dopo gli attributi. In modalità ibrida è necessario implementare un ordine di soluzione personalizzato, invece che a due passaggi, se l'ordine di soluzione predefinito non soddisfa i propri requisiti.
L'ordine di soluzione predefinito in modalità ibrida è ottimizzato per gli scenari riportati di seguito.
-
Riferimenti in avanti, in cui una formula del membro dinamico fa riferimento a un membro riportato più avanti nell'ordine del profilo. Non esiste alcuna dipendenza dell'ordine del profilo in modalità ibrida.
-
L'aggregazione dei valori figlio basata sull'ordine del profilo corrisponde in modo più preciso all'aggregazione utilizzando formule equivalenti.
-
Membri densi dinamici sotto forma di dipendenze all'interno di formule sparse. In modalità ibrida, se una formula con sparsità fa riferimento a un membro dinamico denso, il riferimento viene ignorato perché le dimensioni sparse vengono calcolate per prime. Per modificare questo valore, assegnare un ordine di soluzione alla dimensione sparsa maggiore dell'ordine di soluzione della dimensione densa (calcolata successivamente).
Personalizzazione dell'ordine di soluzione
Se è necessario perfezionare il funzionamento dei calcoli dinamici nella modalità ibrida, la personalizzazione dell'ordine di soluzione delle dimensioni e dei membri facilita l'operazione senza apportare modifiche importanti al profilo.
Se si implementa un ordine di soluzione personalizzato, quest'ultimo avrà la precedenza sull'ordine di soluzione predefinito. Se i membri o le dimensioni hanno lo stesso ordine di soluzione, l'ordine in cui vengono visualizzati nel profilo (dall'alto verso il basso) risolve il conflitto.
A meno che non si personalizzi l'ordine di soluzione per determinati membri, l'ordine di soluzione del membro dimensione superiore viene applicato per tutti i membri dinamici della dimensione.
Per modificare l'ordine di soluzione, utilizzare Outline Editor nell'interfaccia Web diEssbase oppure Smart View (vedere Modifica dell'ordine di soluzione di un punto di vista selezionato).
L'ordine di soluzione minimo e massimo che è possibile impostare è, rispettivamente, 0 e 127. Un ordine di soluzione superiore indica che il membro viene calcolato in un secondo momento.
Per analizzare i casi d'uso dell'ordine di soluzione, vedere i modelli relativi all'ordine di soluzione nella sezione tecnica della galleria di cartelle di lavoro dell'applicazione, reperibili nel catalogo dei file in Essbase.
Note per l'ordine di soluzione in modalità non ibrida
Nei cubi di memorizzazione di aggregazione:
-
L'ordine di soluzione è impostato su 0 per tutte le dimensioni.
-
L'aggregazione viene eseguita secondo l'ordine di profilo, con queste eccezioni:
- I membri delle gerarchie memorizzate vengono elaborati per primi.
- I membri delle gerarchie dinamiche vengono elaborati successivamente.
Nei cubi di memorizzazione a blocchi non ibridi, l'ordine di soluzione predefinito è
-
membri sparsi prima dei membri densi
-
membri Conti prima dei membri Tempo
-
attributi per ultimi
Nota
Se l'ordine di soluzione dei membri Conti viene impostato manualmente in modo da essere maggiore dell'ordine di soluzione dei membri Tempo, i membri Conti verranno valutati dopo i membri Dynamic Time Series.