A sorozatok kiválasztásával fókuszálhatja az Essbase-számításait az aktív Smart View-rácson, korlátozhatja a hatókörüket a blokktárolós kocka bizonyos adatszeleteire.
A következő szakaszok leírják a sorozat alapú számításokat:
A @GRIDTUPLES függvénynek a számítási parancsfájlban történő alkalmazásához szükséges szintaxisról lásd: FIX…ENDFIX.
A sorozatok kiválasztásával fókuszálhatja az Essbase-számításait az aktív Smart View-rácson, korlátozhatja a hatókörüket a blokktárolós kocka bizonyos adatszeleteire.
A sorozat kiválasztása segít optimalizálni a dimenziók aszimmetrikus rácsszámításait, elkerülve a túlszámítást.
Az Essbase számítási sorozatok eltérnek az MDX lekérdezésekben használt sorozatoktól. A számítás teljesítményét és a kocka méretét alapvetően a kockában lévő blokkok száma határozza meg (meg van adva egy konkrét blokkméret). Ezért a számítási sorozatokat csak kis adatsűrűségű tagkombinációkhoz adják meg. Ezenkívül a számítási parancsfájl egyszerűbb elkészítése érdekében egyetlen kis adatsűrűségű dimenzió több tagja is szerepelhet egy számítási sorozat megadásában. Például, ha a ("New York", "California", "Actual", "Cola") számítási sorozatot adja meg, akkor a következő cellametszeteket fogja kiszámítani:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
Vegye figyelembe a következő szimmetrikus hálót. Azért szimmetrikus, mert a háló minden egyes terméknél ugyanazokat és piacokat és forgatókönyvet tartalmazza (Actual).
A következő háló aszimmetrikus, mivel a Diet Cola terméknél kevesebb piacot tartalmaz, mint a Cola terméknél.
Az alapértelmezett számítási hatáskör, ha egynél több dimenzió szerepel egy FIX utasításban vagy egy Smart View rács nézőpontjában (POV), a FIX utasításban vagy a rácsban szereplő tagok keresztszorzatának (az összes lehetséges kombinációnak) a kiszámítása. Más szóval, egy olyan nézőpont alapú számítás, amelyben a termék és a piac kombinációi a rácsból származnak, kiszámítja az összes következő sor-tag kombinációt:
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"
Ez a szükségesnél több számítási tevékenységet tartalmazhat. Ha csak a rácson megjelenő kombinációkat kívánja kiszámítani, megadhatja a kiszámítandó sorozatokat, és a számítást egy kisebb szeletre korlátozhatja. A sorozatok számítása csökkentheti a számítás idejét és a kocka méretét is.
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
A számítási sorozat az Essbase-blokktárolási számításban használandó két vagy több kis adatsűrűségű dimenzió tagjaiból álló adatszelet képviseletének egyik módja.
Példák az érvényes számítási sorozatokra:
("Diet Cola", "New York")
("Diet Cola", "Cola", Florida)
(Cola, "New Hampshire")
Ha MDX kifejezéseket ír, tisztában kell lennie az MDX-re vonatkozó következő sorozatmegszorításokra:
Azonban a kényelem érdekében ezeket a követelményeket nem veszik olyan szigorúan a sorozatok kiválasztásakor a számítási parancsfájlokban. Szabadon írhat sorozatkifejezéseket, és a sorozatok leírhatják a taglistákat, például így: (@Children(East), Cola)
.
A sorozatok kiválasztásának egyik egyszerű módja egy számítási parancsfájlba beszúrni őket explicit módon, egy FIX utasításban lévő listaként.
A FIX utasítás formátuma a következő:
FIX (fixMbrs) COMMANDS ; ENDFIX
A lenti FIX utasításban két sorozat lett megadva a parancsblokk megkezdése előtt. A sorozatokat { } kapcsos zárójelek közé kell tenni, ami meghatároz egy korlátozott készletet, ami a sorozatok gyűjteménye.
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
A sorozatok kiválasztásának másik módja környezetfüggő, és attól függ, hogy milyen tagok szerepelnek a Smart View rács nézőpontjában a számítás futásideje alatt. Ehhez a számítási parancsfájlban szereplő FIX utasítás argumentumaként meg kell adnia a @GRIDTUPLES függvényt.
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
Ha a számítási parancsfájlt a Smart View alkalmazás alábbi rácsa szerint hajtja végre, akkor a rendszer csak a termékek és piacok megjelenített kombinációit számítja ki. Például a "Diet Cola"->Massachusetts kombináció nincs kiszámítva, mivel nem jelenik meg explicit módon a rácson. Vegye figyelembe, hogy a rendszer az összes forgatókönyvet (ebben a mintakockában a harmadik kis adatsűrűségű dimenziót) kiszámítja, azonban a hálón csak a Tényleges forgatókönyvek jelennek meg. Ennek oka, hogy a Forgatókönyv dimenzió nem része a számítási parancsfájl GRIDTUPLES utasításának.
A sorozat kiválasztása, akár a sorozatok explicit listájának, akár a @GRIDTUPLES függvénynek a használatával lett elvégezve, csak a FIX…ENDFIX számítási parancs szövegkörnyezetében alkalmazható. A FIX utasítás szintaxisát kibővítettük a sorozatkiválasztás engedélyezése érdekében:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
Egy Smart View rács és egy Essbase számítási parancsfájl FIX utasításának segítségével kiszámíthatja a rácsban lévő nézőpont (POV) alapján kiválasztott tagsorozatokat. Vagy explicit módon begépelheti a sorozatkombinációkat a FIX utasításba, eltávolítva az adott Smart View rácstól való függőséget a számítás hatáskörének meghatározása érdekében.
A kiválasztott sorozatok kiszámítása elősegíti a hatékony munkát a számítási parancsfájlokban, illetve a Smart View rácsokban található aszimmetrikus régiókkal.
Vegyük a következő példákat:
A minták kipróbálásához töltse le a CalcTuple_Tuple.xlsx
munkafüzetsablont az Essbase webes felületének Fájlok területén található Galéria mappa Technical > Calc
részéből. Az utasításokat a munkafüzet README munkalapja tartalmazza.
Az Essbase blokktárolós számítás alapértelmezett viselkedését bemutatva, ami akkor történik, ha nem választ ki sorozatokat, a következő számítási parancsfájl kiszámítja a Termék és a Piac dimenzió termékeinek keresztszorzatát a Smart View rácsból.
A SET RUNTIMESUBVARS blokkban definiált két futásidejű helyettesítő változó (RTSV) segítségével a számításban korlátozható, hogy mely Termék és Piac nézőpontok szerepeljenek a rácsban, ha a számítást a Smart View alkalmazásból futtatják.
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
A @GRIDTUPLES függvény használatával válassza ki a Termék és a Piac dimenzióból álló sorozatot. Ez Essbase blokktároló számítási parancsfájl csak az adott két dimenzióhoz számítja ki a sorozatokat, és a számítás hatókörét azokra a tagokra korlátozza, amelyek a Smart View rácson szerepelnek, amikor a számítás végrehajtódik a Smart View alkalmazásból.
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
Csak a sorozatban megnevezett kis adatsűrűségű dimenziókra korlátozódva, a számítás sokkal kevesebb blokkot foglal magában, mint egy alapértelmezett számítás. Azonban ez a számítási parancsfájl a fix (Év, Forgatókönyv) függvényben nem említett dimenziók összes tagját kiszámítja.
A @GRIDTUPLES függvény és egy futásidejű helyettesítő változó használata esetén ez az Essbase blokktároló számítási parancsfájl csak az RTSV promptban a kis adatsűrűségű dimenziók kiválasztása alapján a rácsból kiválasztott sorozatokat számítja ki.
A SET RUNTIMESUBVARS blokkban definiált &DimSelections futásidejű helyettesítő változó a számítás hatókörét csak a kocka kis adatsűrűségű dimenzióira korlátozza, kivéve a Forgatókönyvet. A FIX utasításban használt @GRIDTUPLES függvény, amikor meghívja ezt a változót, korlátozza a kiszámítandó metszetek számát.
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
A számítás még kevesebb blokkot tartalmaz, mint az előző példa, mivel ebben az esetben a sorozat definíciója a Termék->Piac tartományon kívüli ki adatsűrűségű dimenziókra is kiterjed.
A minták kipróbálásához töltse le a CalcTuple_Tuple.xlsx
munkafüzetsablont az Essbase webes felületének Fájlok területén található Galéria mappa Műszaki > Számítás részéből. Az utasításokat a munkafüzet README munkalapja tartalmazza.