Výpočet vybraných n-tíc

Výberom n-tíc môžete spresniť výpočty Essbase v aktívnej mriežke aplikácie Smart View a obmedziť ich rozsah na konkrétne výseky dát v kocke ukladacieho priestoru blokov.

Nasledujúce sekcie opisujú výpočet n-tíc:

Informácie o syntaxi pri používaní príkazu @GRIDTUPLES v skripte výpočtu nájdete v časti FIX…ENDFIX.

Prípad použitia výpočtu n-tice

Výberom n-tíc môžete spresniť výpočty Essbase v aktívnej mriežke aplikácie Smart View a obmedziť ich rozsah na konkrétne výseky dát v kocke ukladacieho priestoru blokov.

Výber n-tíc vám pomáha optimalizovať výpočty v asymetrickej mriežke naprieč dimenziami a vyhnúť sa tak nadmerným výpočtom.

N-tice výpočtov Essbase sa líšia od n-tíc používaných v dopytoch MDX. Výkon výpočtu a veľkosť kocky sú určené najmä počtom blokov v kocke (pri danej veľkosti bloku). N-tice výpočtov sa preto zadávajú len pre kombinácie riedkych členov. Na uľahčenie skriptovania výpočtu je okrem toho možné zahrnúť do špecifikácie n-tice výpočtov viacero členov z jednej riedkej dimenzie. Ak napríklad zadáte hodnotu ("New York", "California", "Actual", "Cola") ako n-ticu výpočtu, vypočítate nasledujúce prieniky buniek:

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

Predstavte si nasledujúcu symetrickú mriežku. Je symetrická, pretože každý produkt má v mriežke zadané rovnaké trhy a rovnaký scenár (Actual).

Symetrická mriežka s hodnotami Actual, Jan pre päť trhov pre produkt Cola a rovnakých päť trhov pre produkt Diet Cola

Nasledujúca mriežka je asymetrická, pretože produkt Diet Cola má v mriežke menej trhov než produkt Cola.

Asymetrická mriežka s hodnotami Actual, Jan pre päť trhov pre produkt Cola, ale len pre dva trhy pre produkt Diet Cola

Predvolený rozsah výpočtu v prípade, že príkaz FIX alebo uhol pohľadu mriežky aplikácie Smart View obsahuje viac ako jednu dimenziu, je výpočet krížového produktu (všetkých možných kombinácií) členov v príkaze FIX alebo v mriežke. Inak povedané, výpočet na základe uhla pohľadu, v ktorom kombinácie produktu a trhu vychádzajú z mriežky, vypočítava všetky nasledujúce kombinácie riadka a člena:

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"

Výsledkom môže byť rozsiahlejšia výpočtová aktivita, než akú potrebujete. Ak chcete vypočítať len kombinácie zobrazené v mriežke, môžete zadať, ktoré n-tice sa majú vypočítať, a obmedziť výpočet na menší výsek. Výpočet n-tíc tiež môže zredukovať trvanie výpočtu a veľkosť kocky.

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

Základné informácie o výpočte založenom na n-tici

N-tica výpočtu predstavuje spôsob prezentovania výseku dát členov z dvoch alebo viacerých riedkych dimenzií, ktoré sa majú použiť vo výpočte ukladacieho priestoru blokov Essbase.

Príklady platných n-tíc výpočtov:

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

Ak vytvárate výrazy MDX, nezabúdajte na tieto obmedzenia n-tíc, ktoré sa vzťahujú na formát MDX:

  • Do n-tice MDX môže byť z každej dimenzie zahrnutý iba jeden člen.
  • Všetky n-tice v množine MDX musia mať rovnaké dimenzie v rovnakom poradí.

Pri výbere n-tíc v skriptoch výpočtu sú však tieto požiadavky pre uľahčenie zmiernené. Výrazy s n-ticami môžete vytvárať bez obmedzení a n-tice môžu popisovať zoznamy členov, ako je to aj v prípade tejto n-tice: (@Children(East), Cola).

Výber n-tíc pre výpočet uhla pohľadu

Jednoduchým spôsobom výberu n-tíc je ich explicitné vloženie do skriptu výpočtu ako zoznamu vnútri príkazu FIX.

Spomeňte si, že formát príkazu FIX je takýto:

FIX (fixMbrs)
COMMANDS ;
ENDFIX

V príkaze FIX uvedenom nižšie sú dve n-tice zadané pred začiatkom bloku príkazu. N-tice sa nachádzajú v zložených zátvorkách { } oddeľujúcich množinu, ktorá je kolekciou n-tíc.

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

Ďalším spôsobom výberu n-tíc je kontextovo na základe členov, ktoré sa nachádzajú v uhle pohľadu mriežky aplikácie Smart View v čase spustenia výpočtu. Robí sa to tak, že do príkazu FIX v skripte výpočtu sa ako argument uvedie funkcia @GRIDTUPLES.

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

Ak vykonáte tento skript výpočtu z aplikácie Smart View na mriežke uvedenej nižšie, vypočítajú sa iba zobrazené kombinácie produktov a trhov. Napríklad kombinácia „Diet Cola“->Massachusetts sa nevypočíta, pretože nie je explicitne zobrazená v mriežke. Všimnite si, že sa vypočítajú všetky scenáre (tretia riedka dimenzia v tejto vzorovej kocke), hoci v mriežke sa zobrazí iba položka Actual (Skutočnosť). To je preto, lebo dimenzia Scenár nie je súčasťou príkazu GRIDTUPLES v skripte výpočtu.

Asymetrická mriežka s hodnotami Actual, Jan pre päť trhov pre produkt Cola, ale len pre dva trhy pre produkt Diet Cola

Výber n-tíc, či už vykonaný pomocou explicitných zoznamov n-tíc, alebo s použitím funkcie @GRIDTUPLES, možno použiť iba v kontexte príkazu výpočtu FIX…ENDFIX. Syntax príkazu FIX sa rozšíri tak, aby umožňovala výber n-tíc:

FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs)
COMMANDS ;
ENDFIX
  • tupleList - množina n-tíc oddelených čiarkou.
  • dimensionList - aspoň dve riedke dimenzie, ktorých členy z aktívnej mriežky aplikácie Smart View sa používajú na definovanie oblastí výpočtu. (V skriptoch výpočtu môžete na definovanie n-tíc používať jedine riedke dimenzie.)
  • fixMbrs - člen alebo zoznam členov.

Príklady výberu n-tice na obmedzenie rozsahu výpočtu

Používanie mriežky aplikácie Smart View a príkazu FIX v skripte výpočtu Essbase vám umožňuje vypočítať vybrané n-tice členov na základe uhla pohľadu mriežky. Alebo môžete explicitne zadať kombinácie n-tice v príkaze FIX a pri definovaní rozsahu výpočtu odstrániť závislosť na konkrétnej mriežke aplikácie Smart View.

Výpočet vybraných n-tíc umožňuje efektívne pracovať s asymetrickými oblasťami v oboch skriptoch výpočtov a mriežkach aplikácie Smart View.

Pozrite si nasledujúce príklady:

  • Bez výberu n-tice - výpočet predvoleným spôsobom na základe aktuálneho uhla pohľadu mriežky aplikácie Smart View. Výpočet nie je obmedzený na žiadne konkrétne n-tice.
  • Výber pomenovaných riedkych dimenzií - vypočíta n-tice z dvoch alebo viacerých riedkych dimenzií, ktoré sú pomenované v skripte výpočtu. Výpočet je obmedzený na členy z dimenzií n-tice, ktoré sa nachádzajú v mriežke aplikácie Smart View.
  • Výber kontextových riedkych dimenzií - vypočíta n-tice z riedkych dimenzií vybraných v čase behu. Výpočet je obmedzený na členy z dimenzií n-tice, ktoré sa nachádzajú v mriežke aplikácie Smart View.

Na vyskúšanie týchto príkladov si stiahnite šablónu zošita CalcTuple_Tuple.xlsx zo sekcie Technical > Calc v priečinku Galéria v oblasti Súbory vo webovom rozhraní Essbase. Pokyny nájdete v zošite v hárku README.

Bez výberu n-tice

Ako ukážku predvoleného správania výpočtu ukladacieho priestoru blokov Essbase v prípade, že nevyberiete n-tice, nasledujúci skript výpočtu vypočíta celý krížový súčin členov dimenzií Produkt a Trh z mriežky aplikácie Smart View.

Pomocou dvoch substitučných premenných runtime (RTSV) definovaných v bloku SET RUNTIMESUBVARS sa výpočet obmedzí na tie uhly pohľadu dimenzií Produkt a Trh, ktoré sú prítomné v mriežke, keď sa spustí výpočet z aplikácie 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

Výber pomenovaných riedkych dimenzií

Pomocou funkcie @GRIDTUPLES na výber n-tice dimenzií Produkt a Trh tento skript výpočtu ukladacieho priestoru blokov Essbase vypočíta n-tice len pre tieto dve dimenzie, pričom rozsah sa obmedzí len na členy prítomné v mriežke Smart View v čase vykonania výpočtu v aplikácii Smart View.

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

Tým, že sa do výpočtu zahrnú len riedke dimenzie uvedené v n-tici, bude výpočet obsahovať omnoho menší počet blokov ako predvolený výpočet. Tento skript výpočtu však vypočíta všetky členy z dimenzií, ktoré nie sú uvedené v zahrnutí (Rok, Scenár).

Výber kontextových riedkych dimenzií

Pomocou funkcie @GRIDTUPLES a substitučnej premennej runtime tento skript výpočtu ukladacieho priestoru blokov Essbase vypočíta len vybrané n-tice z mriežky na základe výberov riedkych dimenzií vo výzve RTSV.

Substitučná premenná runtime &DimSelections, ktorá je definovaná v bloku SET RUNTIMESUBVARS, obmedzí rozsah výpočtu len na riedke dimenzie kocky a nezahŕňa scenár. Funkcia @GRIDTUPLES v príkaze FIX volá túto premennú a obmedzí počet vypočítaných prienikov.

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
        

Tento výpočet zahŕňa ešte menší počet blokov ako predchádzajúci príklad, pretože v tomto prípade definovaná n-tica pokrýva viac riedkych dimenzií, ktoré presahujú dimenzie Produkt->Trh.

Na vyskúšanie týchto príkladov si stiahnite šablónu zošita CalcTuple_Tuple.xlsx zo sekcie Technical > Calc v priečinku Galéria v oblasti Súbory vo webovom rozhraní Essbase. Pokyny nájdete v zošite v hárku README.