Prin selectarea tuplelor, vă puteţi concentra calculele Essbase din grila Smart View activă, limitând domeniul lor la segmente specificate de date din cubul dvs. de stocare în blocuri.
Următoarele secţiuni descriu calculul tuplei:
Pentru sintaxa de folosire a @GRIDTUPLES într-un script de calcul, consultaţi FIX…ENDFIX.
Prin selectarea tuplelor, vă puteţi concentra calculele Essbase din grila Smart View activă, limitând domeniul lor la segmente specificate de date din cubul dvs. de stocare în blocuri.
Selecţia tuplelor vă ajută să optimizaţi calculele de grile asimetrice între dimensiuni, evitând astfel calculele excedentare.
Tuplele de calcul din Essbase diferă de cele utilizate în interogările MDX.. Performanţele calculelor şi dimensiunea cubului sunt determinate mai ales de numărul de blocuri din cub (dată fiind o anumită dimensiune de bloc). Din acest motiv, tuplele de calcul sunt specificate doar pt. combinaţiile de membri dispersaţi. În plus, pt. simplificarea script-urilor de calcul, se pot include într-o specificaţie de calcul al tuplei mai mulţi membri dintr-o singură dimensiune dispersată. De exemplu, dacă tupla de calcul specificată este ("New York", "California", "Actual", "Cola"), veţi calcula următoarele intersecţii de celule:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
Să analizăm următoarea grilă simetrică. Ea este simetrică deoarece fiecare produs are aceleaşi pieţe (Market) şi aceleaşi scenarii ("Actual") reprezentate în grilă.
Următoarea grilă este asimetrică, deoarece produsul Diet Cola are mai puţine pieţe în grilă decât are produsul Cola.
Acoperirea prestabilită a calculului, când cel puţin o dimensiune se află într-o instrucţiune FIX sau într-o perspectivă Smart View, este următoarea: se calculează produsul vectorial (toate combinaţiile posibile) al membrilor din instrucţiunea FIX sau din grilă. Cu alte cuvinte, un calcul bazat pe perspectivă, în care combinaţiile dintre produs şi piaţă sunt preluate din grilă, calculează toate combinaţiile următoare dintre rând şi membru:
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"
Aceste calcule ar putea fi prea mult faţă de ce aveţi dvs. nevoie. Dacă doriţi să calculaţi doar combinaţiile afişate în grilă, puteţi specifica ce tuple să calculaţi şi puteţi limita calculul la un sector mai mic. Calcularea tuplelor poate scădea durata calculelor şi dimensiunea cubului.
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
O tuplă de calcul este un mod de a reprezenta un sector de date ale membrilor din două sau mai multe dimensiuni dispersate, date care vor fi utilizate într-un calcul de stocare în blocuri Essbase.
Exemple de tuple de calcul valide:
("Diet Cola", "New York")
("Diet Cola", "Cola", Florida)
(Cola, "New Hampshire")
Dacă scrieţi expresii MDX, s-ar putea să ştiţi deja următoarele restricţii privitoare la tuplele din MDX:
Însă când selectaţi tuple în script-urile de calcul, aceste cerinţe sunt mai relaxate, pt. a vă fi mai uşor să scrieţi script-urile. Puteţi scrie în mod liber expresii cu tuple, iar aceste tuple pot descrie liste de membri, aşa cum o face următoarea tuplă:: (@Children(East), Cola)
.
Un mod simplu de a selecta tuple este de a le insera în mod explicit într-un script de calcul, ca listă în instrucţiunea FIX.
Vă reamintim că formatul unei instrucţiuni FIX este:
FIX (fixMbrs) COMMANDS ; ENDFIX
În instrucţiunea FIX de mai jos, sunt specificate două tuple înainte să înceapă blocul de comandă. Tuplele sunt încadrate de paranteze acolade { } care delimitează un set, adică o colecţie de tuple.
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
Un alt mod de a selecta tuplele este cel contextual, pe baza membrilor prezenţi într-o perspectivă de grilă Smart View la rularea calculului. Acest lucru se face prin introducerea funcţiei @GRIDTUPLES ca argument în instrucţiunea FIX din scriptul de calcul.
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
Dacă executaţi acest script de calcul din Smart View pt. grila de mai jos, vor fi calculate doar combinaţiile de produse şi pieţe afişate. De exemplu, "Diet Cola"->Massachusetts nu va fi calculată, deoarece nu este afişată explicit în grilă. Reţineţi că sunt calculate toate scenariile (cea de-a treia dimensiune dispersată din acest cub eşantion), chiar dacă în grilă este afişat doar cel efectiv (Actual). Asta deoarece dimensiunea Scenariu nu face parte din instrucţiunea GRIDTUPLES din scriptul de calcul.
Selecţia tuplelor, fie că se face cu liste de tuple explicite, fie că se face cu funcţia @GRIDTUPLES, se aplică doar în contextul comenzii de calcul FIX…ENDFIX. Sintaxa instrucţiunii FIX este extinsă pt. a permite selecţia tuplelor:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
Cu o grilă Smart View şi o instrucţiune FIX pt. scriptul de calcul Essbase, puteţi calcula tuple pt. membrii selectaţi pe baza perspectivei grilei. Sau puteţi tasta în mod explicit combinaţiile de tuple în instrucţiunea FIX, eliminând astfel dependenţa de o anumită grilă Smart View pt. definirea anvergurii calculelor.
Calcularea tuplelor selectate vă ajută să lucraţi mai eficient cu regiunile asimetrice din script-urile de calcul şi din grilele Smart View.
Observaţi următoarele exemple:
Pt. a lucra şi dvs. cu aceste exemple, descărcaţi şablonul de registru de lucru CalcTuple_Tuple.xlsx
din secţiunea Tehnic > Calc
a folderului Galerie din zona Fişiere a interfeţei web Essbase. Pentru instrucţiuni, consultaţi foaia README din registrul de calcul.
Demonstraţie a comportamentului de calcul prestabilit pentru stocarea în blocuri Essbase care are loc când nu selectaţi tuple: scriptul de calcul următor calculează întregul produs vectorial al membrilor dimensiunilor Produs şi Piaţă dintr-o grilă Smart View.
Cu ajutorul celor două variabile de substituţie la runtime (RTSV) definite în blocul SET RUNTIMESUBVARS, calculul este limitat la perspectivele Produs şi Piaţă care sunt prezente în grilă când calculul este rulat din 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
Cu ajutorul funcţiei @GRIDTUPLES pt. selectarea tuplei formate din dimensiunile Produs şi Piaţă, acest script de calcul al stocării în blocuri Essbase calculează tuplele doar pt. aceste două dimensiuni, limitând astfel anvergura calculului doar la membrii existenţi într-o grilă Smart View în momentul execuţiei calculului din Smart View.
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
Prin faptul că se fixează doar asupra dimensiunilor dispersate denumite din tuplă, calculul acoperă un număr mult mai mic de blocuri, comparativ cu un calcul prestabilit. Însă toţi membrii din dimensiunile care nu sunt menţionate în fixare (An, Scenariu) sunt calculaţi de acest script de calcul.
Cu ajutorul funcţiei @GRIDTUPLES şi al unei variabile de substituţie la runtime, acest script de calculare a stocării în blocuri Essbase calculează doar tuplele selectate din grilă, pe baza selecţiilor de dimensiuni dispersate din promptul RTSV.
Variabila de substituţie la runtime &DimSelections, care este definită în blocul SET RUNTIMESUBVARS, limitează anvergura calculelor doar la dimensiunile dispersate din cub, excluzând scenariul. Funcţia @GRIDTUPLES utilizată în instrucţiunea FIX apelează această variabilă şi limitează astfel numărul de intersecţii calculate.
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
Calculul acoperă un număr şi mai mic de blocuri decât cel din exemplul precedent deoarece în acest caz, definiţia tuplei este extinsă la mai multe dimensiuni, pe lângă Product->Market.
Pentru a lucra şi dvs. cu aceste exemple, descărcaţi şablonul de registru de lucru numit CalcTuple_Tuple.xlsx
din secţiunea Tehnic > Calc a folderului galerie, din zona Fişiere a interfeţei web Essbase. Pentru instrucţiuni, consultaţi foaia README din registrul de calcul.