Výpočet vybraných n-tic

Výběrem n-tic můžete své výpočty v systému Essbase zaměřit na aktivní mřížku modulu Smart View, která omezuje jejich rozsah na konkrétní datové řezy ve vaší krychli blokového úložiště.

Následující části popisují výpočet n-tic:

Informace o syntaxi pro použití @GRIDTUPLES ve výpočetním skriptu najdete v části FIX…ENDFIX.

Případ použití výpočtu n-tic

Výběrem n-tic můžete své výpočty v systému Essbase zaměřit na aktivní mřížku modulu Smart View, která omezuje jejich rozsah na konkrétní datové řezy ve vaší krychli blokového úložiště.

Výběr n-tic pomáhá optimalizovat výpočty v asymetrických mřížkách napříč dimenzemi, aby neprobíhaly zbytečné výpočty.

Výpočetní n-tice systému Essbase se liší od n-tic používaných v dotazech MDX. Provedení výpočtu a velikost krychle jsou ovlivněny především počtem bloků v krychli (který souvisí se specifickou velikostí bloků). Z tohoto důvodu jsou výpočetní n-tice stanoveny pouze pro kombinace řídkých prvků. Navíc lze k zajištění snadného skriptování výpočtů zahrnout do specifikací výpočetních n-tic více prvků z jediné řídké dimenze. Pokud například zadáte výpočetní n-tici ("New York", "California", "Actual", "Cola"), pak vypočítáte následující průniky buněk:

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

Uvažujte následující symetrickou mřížku. Mřížka je symetrická, protože každý produkt má v mřížce uvedeny stejné trhy a stejný scénář (Actual).

Symetrická mřížka s hodnotami Actual, Jan pro pět trhů pro produkt Cola a stejných pět trhů pro produkt Diet Cola

Následující mřížka je asymetrická, protože produkt Diet Cola má v mřížce méně trhů než produkt Cola.

Asymetrická mřížka s hodnotami Actual, Jan pro pět trhů pro produkt Cola, ale pouze pro dva trhy pro produkt Diet Cola

Výchozím rozsahem výpočtu, když výraz FIX nebo bod pohledu (POV) mřížky v modulu Smart View obsahuje více než jednu dimenzi, je výpočet napříč produkty (všech možných kombinací) prvků obsažených ve výrazu FIX nebo mřížce. Jinými slovy, výpočet na základě bodu pohledu (POV), ve kterém jsou kombinace produktů a trhů převzaty z mřížky, vypočítá všechny tyto kombinace řádků a prvků:

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"

To může představovat více výpočetních úkonů, než potřebujete. Pokud chcete vypočítat pouze kombinace zobrazené v mřížce, můžete zadat požadované n-tice, a tím omezit výpočet na menší řez. Výpočet n-tic může také vést ke zkrácení doby výpočtu a menší velikosti krychle.

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

Seznámení s výpočtem založeným na n-ticích

Výpočetní n-tice představuje způsob vyjádření datového řezu prvků, které pocházejí ze dvou nebo více řídkých dimenzí a mají být použity ve výpočtu blokového úložiště Essbase.

Příklady platných výpočetních n-tic:

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

Při psaní výrazů MDX byste měli vzít v úvahu tato omezení n-tic, která platí pro MDX:

  • Do n-tice MDX je možné zahrnout pouze jediný prvek z každé dimenze.
  • Ve všech n-ticích v sadě MDX musejí být zastoupeny stejné dimenze, navíc ve stejném pořadí.

Avšak při výběru n-tic ve výpočetních skriptech jsou tyto požadavky z důvodu usnadnění uvolněny. Můžete bez omezení psát výrazy s n-ticemi a n-tice mohou popisovat seznamy prvků, stejně jako následující n-tice: (@Children(East), Cola).

Výběr n-tic pro výpočet bodů pohledu

Snadným způsobem výběru n-tic je vložit n-tice explicitně do výpočetního skriptu jako seznam ve výrazu FIX.

Nezapomeňte, že výraz FIX má následující formát:

FIX (fixMbrs)
COMMANDS ;
ENDFIX

Níže uvedený výraz FIX obsahuje dvě n-tice před začátkem příkazového bloku. N-tice jsou uzavřeny ve složených závorkách { }, které vymezují sadu, což je kolekce n-tic.

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

Dalším způsobem je kontextový výběr n-tic, jenž je založen na kterémkoli z prvků, které se vyskytují v bodu pohledu mřížky v modulu Smart View v okamžiku zahájení výpočtu. Tento výběr provedete uvedením funkce @GRIDTUPLES jako argumentu výrazu FIX ve výpočetním skriptu.

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

Pokud spustíte tento výpočetní skript z modulu Smart View pro níže uvedenou mřížku, pak budou vypočteny pouze zobrazené kombinace produktů a trhů. Například neproběhne výpočet pro kombinaci Diet Cola->Massachusetts, protože ta není v mřížce explicitně zobrazena. Uvědomte si, že proběhne výpočet všech scénářů (třetí řídká dimenze v této ukázkové krychli), i když je v mřížce zobrazen pouze scénář Actual. To je způsobeno tím, že dimenze Scenario není součástí výrazu GRIDTUPLES ve výpočetním skriptu.

Asymetrická mřížka s hodnotami Actual, Jan pro pět trhů pro produkt Cola, ale pouze pro dva trhy pro produkt Diet Cola

Výběr n-tic, ať už je proveden pomocí explicitních seznamů n-tic nebo pomocí funkce @GRIDTUPLES, lze použít pouze v kontextu výpočetního příkazu FIX…ENDFIX. Syntaxe výrazu FIX je rozšířena, aby umožnila výběr n-tic:

FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs)
COMMANDS ;
ENDFIX
  • tupleList – sada čárkami oddělených n-tic.
  • dimensionList – nejméně dvě řídké dimenze, jejichž prvky z aktivní mřížky v modulu Smart View jsou použity k definování oblastí vypočtu. (Ve výpočetních skriptech můžete k definování n-tic použít pouze řídké dimenze.)
  • fixMbrs - prvek nebo seznam prvků.

Příklady výběru n-tic za účelem zmenšení rozsahu výpočtu

Pomocí mřížky modulu Smart View a výrazu FIX výpočetního skriptu systému Essbase můžete vypočítat vybrané n-tice prvků založené na bodu náhledu (POV) mřížky. Nebo můžete při definování rozsahu výpočtu explicitně zadat kombinace n-tic ve výrazu FIX, čímž odstraníte závislost na určité mřížce modulu Smart View.

Výpočet vybraných n-tic vám pomůže efektivně pracovat s asymetrickými oblastmi jak ve výpočetních skriptech, tak v mřížkách modulu Smart View.

Uvažujme následující příklady:

  • Bez výběru n-tic – Výpočet proběhne výchozím způsobem na základě aktuálního bodu pohledu (POV) na mřížku modulu Smart View. Výpočet není omezen na žádné konkrétní n-tice.
  • Výběr uvedených řídkých dimenzí - Proběhne výpočet n-tic ze dvou nebo více řídkých dimenzí, jejichž název je uveden ve výpočetním skriptu. Výpočet je omezen na prvky z dimenzí n-tic, které se vyskytují v mřížce modulu Smart View.
  • Výběr kontextových řídkých dimenzí – Proběhne výpočet n-tic z řídkých dimenzí vybraných v běhovém prostředí. Výpočet je omezen na prvky z dimenzí n-tic obsažených v mřížce modulu Smart View.

Pokud si chcete vyzkoušet příklady, stáhněte si šablonu sešitu CalcTuple_Tuple.xlsx ze sekce Technické > Výpočet složky gallery v oblasti Soubory webového rozhraní prostředí Essbase. Pokyny naleznete na listu README v sešitu.

Bez výběru n-tic

Následující výpočetní skript demonstruje výchozí chování výpočtu blokového úložiště systému Essbase, ke kterému dochází, když nevyberete n-tice, a vypočítá celý smíšený produkt prvků dimenzí Product a Market z mřížky modulu Smart View.

Prostřednictvím dvou substitučních proměnných běhového prostředí (RTSV) definovaných v bloku SET RUNTIMESUBVARS je výpočet omezen na veškeré body pohledu dimenzí Product a Market, které se vyskytují v mřížce v okamžiku spuštění výpočtu z modulu 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ýběr uvedených řídkých dimenzí

Při použití funkce @GRIDTUPLES k výběru n-tic dimenzí Product a Market tento výpočetní skript blokového úložiště Essbase vypočítá n-tice pouze pro tyto dvě dimenze, přičemž jeho rozsah bude omezen na ty prvky, které se vyskytují v mřížce modulu Smart View v době spuštění výpočtu z modulu Smart View.

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

Díky pevnému omezení pouze na řídké dimenze vyjmenované v n-tici se výpočet týká mnohem menšího počtu bloků, než by tomu bylo u výchozího výpočtu. Nicméně tento výpočetní skript vypočítá všechny prvky z dimenzí, které nejsou uvedeny ve výrazu FIX (Year, Scenario).

Výběr kontextových řídkých dimenzí

Pomocí funkce @GRIDTUPLES a substituční proměnné běhu programu tento výpočetní skript blokového úložiště Essbase vypočítá pouze vybrané n-tice z mřížky na základě výběrů řídkých dimenzí ve výzvě RTSV.

Substituční proměnná běhového prostředí &DimSelections, která je definovaná v bloku SET RUNTIMESUBVARS, omezuje rozsah výpočtu pouze na řídké dimenze krychle, kromě dimenze Scenario. Funkce @GRIDTUPLES použitá v příkazu FIX volá tuto proměnnou, a tím omezí množství vypočítaných průniků.

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
        

Výpočet zahrnuje ještě menší počet bloků než předchozí příklad, protože v tomto případě se definice n-tic rozšíří na další řidší dimenze následující za dimenzí Product->Market.

Pokud si chcete vyzkoušet příklady, stáhněte si šablonu sešitu CalcTuple_Tuple.xlsx ze sekce Technické > Výpočet složky Galerie v oblasti Soubory webového rozhraní aplikace Essbase. Pokyny naleznete na listu README v sešitu.