Calcolare le tuple selezionate

Selezionando le tuple, è possibile concentrare i calcoli Essbase nella griglia Smart View attiva, limitandone l'ambito a sezioni specifiche di dati nel cubo di memorizzazione a blocchi.

Nelle sezioni seguenti viene descritto il calcolo delle tuple:

Per la sintassi relativa all'utilizzo di @GRIDTUPLES in uno script di calcolo, vedere FIX…ENDFIX.

Caso d'uso per il calcolo delle tuple

Selezionando le tuple, è possibile concentrare i calcoli Essbase nella griglia Smart View attiva, limitandone l'ambito a sezioni specifiche di dati nel cubo di memorizzazione a blocchi.

La selezione delle tuple facilita l'ottimizzazione dei calcoli delle griglie asimmetriche tra le dimensioni ed evita i calcoli in eccesso.

Le tuple di calcolo Essbase sono diverse dalle tuple utilizzate nelle query MDX. Le prestazioni di calcolo e le dimensioni del cubo si basano principalmente sul numero dei blocchi nel cubo (data una dimensione blocco specifica). Per questo motivo le tuple di calcolo vengono specificate solo per le combinazioni di membri sparsi. Inoltre, per semplificare la creazione degli script di calcolo, nella specifica di una tupla di calcolo è possibile includere più membri da una singola dimensione sparsa. Ad esempio, se si specifica ("New York", "California", "Actual", "Cola") come tupla di calcolo, verranno calcolate le intersezioni di cella seguenti:

"New York"->"Actual"->"Cola"
"California"->"Actual"->"Cola"

Esaminare la griglia simmetrica riportata di seguito. Si tratta di una griglia simmetrica perché per ogni prodotto sono rappresentati gli stessi mercati e lo stesso scenario (Actual).

Griglia simmetrica con i valori Actual, Jan per cinque mercati per Cola e gli stessi cinque mercati per Diet Cola

La griglia riportata di seguito è invece asimmetrica, in quanto per il prodotto Diet Cola sono rappresentati meno mercati rispetto al prodotto Cola.

Griglia asimmetrica con i valori Actual, Jan per cinque mercati per Cola, ma solo due mercati per Diet Cola

L'ambito di calcolo predefinito, quando sono presenti più dimensioni in un'istruzione FIX o nel punto di vista (POV) di una griglia Smart View, prevede il calcolo del prodotto matriciale (tutte le combinazioni possibili) dei membri dell'istruzione FIX o della griglia. In altre parole, un calcolo basato su POV, in cui le combinazioni di prodotto e mercato vengono acquisite dalla griglia, calcola tutte le combinazioni riga-membro seguenti:

Cola->"New York"
Cola->"Massachusetts"
Cola->"Florida"
Cola->"Connecticut"
Cola->"New Hampshire"
"Diet Cola"->"New York"
"Diet Cola"->"Massachusetts"
"Diet Cola"->"Florida"
"Diet Cola"->"Connecticut"
"Diet Cola"->"New Hampshire"

L'attività di calcolo effettiva potrebbe essere superiore a quella realmente necessaria. Se si desidera calcolare solo le combinazioni mostrate nella griglia, è possibile specificare le tuple da calcolare e limitare il calcolo a una sezione più piccola. Il calcolo delle tuple può inoltre comportare una riduzione del tempo di calcolo e della dimensione del cubo.

Cola->"New York"
Cola->"Massachusetts"
Cola->"Florida"
Cola->"Connecticut"
Cola->"New Hampshire"
"Diet Cola"->"New York"
"Diet Cola"->"Florida"

Comprendere il calcolo basato su tuple

Con il termine tupla di calcolo si indicano le modalità di rappresentazione di una sezione dati di membri, acquisita da due o più dimensioni sparse, da utilizzare in un calcolo di memorizzazione a blocchi Essbase.

Esempi di tuple di calcolo valide:

  • ("Diet Cola", "New York")
  • ("Diet Cola", "Cola", Florida)
  • (Cola, "New Hampshire")

Durante la scrittura delle espressioni, è necessario tenere presenti le limitazioni relative alle tuple riportate di seguito applicate al linguaggio MDX.

  • È possibile includere in una tupla MDX un solo membro di ciascuna dimensione
  • Per tutte le tuple di un set MDX devono essere rappresentate le stesse dimensioni nello stesso ordine

Quando tuttavia si selezionano le tuple negli script di calcolo, questi requisiti sono meno rigorosi. È possibile scrivere liberamente espressioni di tuple e le tuple possono descrivere liste di membri, come nel caso della tupla seguente: (@Children(East), Cola).

Selezionare le tuple per il calcolo del punto di vista

Un modo semplice per selezionare le tuple consiste nell'inserirle esplicitamente in uno script di calcolo sotto forma di lista all'interno dell'istruzione FIX.

Tenere presente che il formato dell'istruzione FIX deve essere simile al seguente:

FIX (fixMbrs)
COMMANDS ;
ENDFIX

Nell'istruzione FIX riportata di seguito vengono specificate due tuple prima del blocco dei comandi. Le tuple sono racchiuse tra parentesi graffe { } che delimitano un set, ovvero una raccolta di tuple.

FIX({
  (@Children(East), Cola),
  ("New York", Florida, "Diet Cola")
  })
Sales (Sales = Sales + 10;);
ENDFIX

Un altro modo per selezionare le tuple è basato sul contesto, ovvero dipende dai membri presenti nel punto di vista di una griglia di Smart View nel runtime di calcolo. Questo tipo di selezione prevede di fornire la funzione @GRIDTUPLES come argomento dell'istruzione FIX nello script di calcolo.

FIX ({@GRIDTUPLES(Product, Market)})
   Sales (Sales = Sales + 10;);
ENDFIX

Se si esegue questo script di calcolo da Smart View sulla griglia riportata di seguito, verranno calcolate solo le combinazioni di prodotti e mercati visualizzate. "Diet Cola"->Massachusetts, ad esempio, non verrà calcolata in quanto non mostrata in modo esplicito nella griglia. Tenere presente che verranno calcolati tutti gli scenari (la terza dimensione sparsa in questo cubo di esempio), sebbene nella griglia venga mostrato solo Actual. Questo perché la dimensione Scenario non fa parte dell'istruzione GRIDTUPLES nello script di calcolo.

Griglia asimmetrica con i valori Actual, Jan per cinque mercati per Cola, ma solo due mercati per Diet Cola

La selezione delle tuple, sia essa effettuata mediante liste esplicite o mediante la funzione @GRIDTUPLES, si applica solo nel contesto del comando di calcolo FIX…ENDFIX. La sintassi dell'istruzione FIX viene espansa per abilitare la selezione delle tuple:

FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs)
COMMANDS ;
ENDFIX
  • tupleList: set di tuple con la virgola come separatore.
  • dimensionList: almeno due dimensioni sparse i cui membri della griglia di Smart View attiva vengono utilizzati per definire le aree di calcolo. (Negli script di calcolo è possibile utilizzare solo le dimensioni sparse per definire le tuple).
  • fixMbrs: un membro o una lista di membri.

Esempi di selezione delle tuple per ridurre l'ambito di calcolo

Utilizzando una griglia di Smart View e un'istruzione FIX di uno script di calcolo Essbase è possibile calcolare le tuple membro selezionate in base al punto di vista (POV) della griglia. In alternativa, è possibile digitare in modo esplicito le combinazioni di tuple nell'istruzione FIX, rimuovendo la dipendenza da una griglia di Smart View particolare, per definire l'ambito di calcolo.

Il calcolo delle tuple selezionate facilita l'utilizzo efficiente delle aree asimmetriche sia negli script di calcolo che nelle griglie di Smart View.

Esaminare gli esempi riportati di seguito.

  • Nessuna selezione di tuple - Il calcolo viene eseguito secondo le modalità predefinite in base al punto di vista (POV) della griglia di Smart View corrente. Il calcolo non è limitato a tuple specifiche.
  • Selezione di dimensioni sparse denominate - Calcola le tuple da due o più dimensioni sparse denominate in uno script di calcolo. Il calcolo è limitato ai membri delle dimensioni tupla presenti nella griglia di Smart View.
  • Selezione di dimensioni sparse contestuali - Calcola le tuple dalle dimensioni sparse selezionate in runtime. Il calcolo è limitato ai membri delle dimensioni tupla presenti nella griglia di Smart View.

Per provare questi esempi, scaricare il modello della cartella di lavoro CalcTuple_Tuple.xlsx dalla sezione Technical > Calc della cartella gallery nell'area File dell'interfaccia Web di Essbase. Per le necessarie istruzioni, fare riferimento al foglio di lavoro README nella cartella di lavoro.

Nessuna selezione di tuple

Come dimostrazione del funzionamento predefinito del calcolo della memorizzazione a blocchi di Essbase che si verifica quando non si selezionano tuple, lo script di calcolo riportato di seguito calcola l'intero prodotto matriciale dei membri delle dimensioni Product e Market da una griglia di Smart View.

Mediante due variabili di sostituzione in runtime (RTSV) definite nel blocco SET RUNTIMESUBVARS, il calcolo viene limitato a qualunque punto di vista Product e Market presente nella griglia al momento dell'esecuzione del calcolo da Smart View.

SET RUNTIMESUBVARS
{
ProductGridMembers = POV
<RTSV_HINT><svLaunch>
<description>All Product's members on the grid</description>
<type>member</type>
<dimension>Product</dimension><choice>multiple</choice>
</svLaunch></RTSV_HINT>;
MarketGridMembers = POV
<RTSV_HINT><svLaunch>
<description>All Market's members on the grid</description>
<type>member</type> <dimension>Market</dimension><choice>multiple</choice>
</svLaunch></RTSV_HINT>;
};
FIX (
&ProductGridMembers, &MarketGridMembers
)
Marketing(
   Marketing = Marketing +1;
);
ENDFIX

Selezione di dimensioni sparse denominate

Utilizzando la funzione @GRIDTUPLES per selezionare la tupla delle dimensioni Product e Market, questo script di calcolo della memorizzazione a blocchi di Essbase calcola le tuple solo per le due dimensioni, limitando l'ambito ai membri presenti in una griglia di Smart View al momento dell'esecuzione del calcolo da Smart View.

FIX (
{@GRIDTUPLES(Product, Market)}
)
Marketing(
   Marketing = Marketing + 1;
);
ENDFIX

Intervenendo solo sulle dimensioni sparse indicate nella tupla, il calcolo interessa un numero di blocchi molto più piccolo rispetto al calcolo predefinito. Tutti i membri delle dimensioni non indicate nell'istruzione FIX (Year, Scenario) vengono tuttavia calcolati da questo script di calcolo.

Selezione di dimensioni sparse contestuali

Utilizzando la funzione @GRIDTUPLES e una variabile di sostituzione in runtime, questo script di calcolo della memorizzazione a blocchi Essbase calcola solo le tuple selezionate nella griglia, in base alle selezioni delle dimensioni sparse nel prompt RTSV.

La variabile di sostituzione in runtime &DimSelections, definita nel blocco SET RUNTIMESUBVARS, limita l'ambito del calcolo alle sole dimensioni sparse del cubo, escludendo Scenario. La funzione @GRIDTUPLES utilizzata nell'istruzione FIX chiama questa variabile, limitando la quantità di intersezioni calcolate.

SET RUNTIMESUBVARS
            {
            DimSelections = "Version", "Site", "Entity", "Product", "Market"
            <RTSV_HINT><svLaunch>
            <description>List two or more sparse dimensions used for forming calculation tuples:</description>
            <type>string</type>
            </svLaunch></RTSV_HINT>;
            };
            FIX (
            {@GRIDTUPLES(&DimSelections)}
            )
            Marketing(
            Marketing = Marketing + 1;
            );
            ENDFIX
        

Il calcolo include un numero di blocchi ancora più piccolo rispetto all'esempio precedente, poiché in questo caso la definizione della tupla si estende a più dimensioni sparse oltre Prodotto -> Market.

Per provare questi esempi, scaricare il modello di cartella di lavoro CalcTuple_Tuple.xlsx dalla sezione Tecnico > Calcolo della cartella Galleria nell'area File dell'interfaccia Web di Essbase. Per le necessarie istruzioni, fare riferimento al foglio di lavoro README nella cartella di lavoro.