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.
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).
Následující mřížka je asymetrická, protože produkt Diet Cola má v mřížce méně trhů než produkt 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"
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:
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)
.
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.
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
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:
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.
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
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).
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.