Odabirom n-torki možete fokusirati svoje Essbase izračune u aktivnoj Smart View rešetki te ograničiti njihov opseg na određene isječke podataka u svojoj block storage kocki.
U sljedećim odjeljcima opisan je izračun n-torke:
Opis sintakse za primjenu @GRIDTUPLES u izračunskoj skripti potražite u poglavlju FIX…ENDFIX.
Odabirom n-torki možete fokusirati svoje Essbase izračune u aktivnoj Smart View rešetki te ograničiti njihov opseg na određene isječke podataka u svojoj block storage kocki.
Odabirom n-torki možete optimizirati asimetrične izračune rešetke u različitim dimenzijama i izbjeći prekomjerni izračun.
Essbase izračunske n-torke razlikuju se od onih koje se upotrebljavaju u MDX upitima. Izvedba izračuna i veličina kocke uglavnom ovise o broju blokova u kocki (s obzirom na veličinu određenog bloka). Iz tog razloga izračunske n-torke definiraju se samo za kombinacije sparse članova. Nadalje, radi jednostavnijeg skriptiranja izračuna, u specifikaciju izračunske n-torke može se uključiti više članova iz jedne sparse dimenzije. Ako, na primjer, kao izračunsku n-torku definirate ("New York", "California", "Actual", "Cola"), izračunat ćete sljedeće presjeke ćelija:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
Obratite pozornost na sljedeću simetričnu rešetku. Simetrična je zbog toga što su u rešetkama za svaki proizvod navedena ista tržišta i scenarij (Actual).
Sljedeća je rešetka asimetrična jer za proizvod Diet Cola u rešetki ima manje tržišta no Cola.
Kad se više od jedne dimenzije nalazi u naredbi FIX ili perspektivi Smart View rešetke, zadani opseg izračuna jest izračunavanje svih članova u naredbi FIX ili rešetki za proizvod. Drugim riječima, izračun na temelju perspektive u kojem se kombinacije proizvoda i tržišta uzimaju iz rešetke izračunat će sve sljedeće kombinacije retka i člana:
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"
Taj izračun vjerojatno je opsežniji no što vam je potrebno. Ako želite izračunati samo kombinacije prikazane na rešetki, možete definirati koje će se n-torke izračunati i izračun ograničiti na manji odsječak. Izračunske n-torke mogu skratiti izračun i smanjiti kocku.
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
Izračunska n-torka način je predstavljanja podatkovnog isječka članova iz dvije ili više sparse dimenzija koji će se upotrijebiti u Essbase block storage izračunu.
Primjeri valjanih izračunski n-torki:
("Diet Cola", "New York")
("Diet Cola", "Cola", Florida)
(Cola, "New Hampshire")
Ako pišete MDX izraze, možda ste upoznati sa sljedećim ograničenjima koja se za MDX primjenjuju na n-torke:
Međutim, kad odabirete n-torke u izračunskim skriptama, ti su preduvjeti blaži. Možete slobodno pisati izraze n-torki i n-torke mogu opisivati popise članova, kao što je to slučaj u sljedećoj n-torki (@Children(East), Cola)
.
N-torke jednostavno možete odabrati tako da ih eksplicitno umetnete u izračunsku skriptu kao popis unutar naredbe FIX.
Prisjetit ćete se da naredba FIX ima sljedeći format:
FIX (fixMbrs) COMMANDS ; ENDFIX
U naredbi FIX u nastavku dvije n-torke definirane su prije bloka s naredbama. N-torke su navedene unutar vitičastih zagrada { } koje razgraničuju skup, tj. zbirku n-torki.
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
N-torke možete odabrati i kontekstno, na temelju članova koji su u perspektivi rešetke u značajki Smart View prisutni pri izvršavanju izračuna. To možete učiniti tako da funkciju @GRIDTUPLES u svojoj izračunskoj skripti navedete kao argument naredbe FIX.
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
Ako tu izračunsku skriptu izvršite u značajki Smart View za niže prikazanu rešetku, izračunat će se samo prikazane kombinacije proizvoda i tržišta. Na primjer, "Diet Cola"->Massachusetts neće se izračunati jer nije eksplicitno prikazan u rešetki. Napominjemo da će se izračunati svi scenariji (treća sparse dimenzija u oglednoj kocki), iako je na rešetki prikazan Actual. Razlog je to što dimenzija scenarija nije dio naredbe GRIDTUPLES u izračunskoj skripti.
Bez obzira na to odabirete li n-torke eksplicitno putem popisa n-torki ili putem funkcije @GRIDTUPLES , odabir će se primijeniti samo u kontekstu izračunske naredbe FIX…ENDFIX. Sintaksa naredbe FIX proširuje se kako bi se omogućio odabir n-torke:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
Putem Smart View rešetke i naredbe FIX u Essbase izračunskoj skripti možete izračunati n-torke odabranih članova na temelju perspektive rešetke. Možete i eksplicitno unijeti kombinacije n-torki u svoju naredbu FIX, uklanjajući tako ovisnost o određenoj Smart View rešetki pri definiranju izračunskog opsega.
Izračun odabranih n-torki omogućit će vam učinkovit rad na asimetričnim regijama u izračunskim skriptama i Smart View rešetkama.
Pogledajte sljedeće primjere:
Želite li isprobati primjere, preuzmite predložak radne knjige CalcTuple_Tuple.xlsx
iz odjeljka Tehnički > Izračun
u mapi gallery koja se nalazi u području Datoteke u web-sučelju Essbase. Upute potražite u README radnom listu koji se nalazi u radnoj knjizi.
Demonstrirajući zadano ponašanje Essbase block storage izračuna do kojeg će doći ako ne odaberete n-torke, sljedeća izračunska skripta izračunat će cijeli unakrsni umnožak članova dimenzija Product i Market iz rešetke u značajki Smart View.
Uz pomoć dvije zamjenske izvršne varijable (RTSV) definirane u bloku SET RUNTIMESUBVARS izračun se ograničava na one perspektive dimenzija Product i Market koje su prisutne u rešetki kad se izračun pokrene u značajki 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
Putem funkcije @GRIDTUPLES odaberite n-torku dimenzija Product i Market i ta će Essbase block storage izračunska skripta izračunati n-torke samo za te dvije dimenzije, ograničavajući opseg na članove koji se nalaze u Smart View rešetki u trenutku kad se izračun pokrene u značajki Smart View.
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
Ako se ograničite samo na sparse dimenzije navedene u n-torki, izračun će obuhvatiti mnogo manje blokova od zadanog izračuna. Izračunska će skripta, međutim, izračunati sve članove iz dimenzije koji nisu spomenuti u fiksiranju (Year, Scenario).
Upotrebom funkcije @GRIDTUPLES i izvršne zamjenske varijable, ova Essbase block storage izračunska skripta izračunat će samo odabrane n-torke iz rešetke, na temelju odabira u sparse dimenziji u parametru RTSV.
Izvršna zamjenska varijabla &DimSelections definirana u bloku SET RUNTIMESUBVARS ograničava opseg izračuna samo na sparse dimenzije kocke, što ne uključuje scenarij. Funkcija @GRIDTUPLES koja se upotrebljava u naredbi FIX poziva tu varijablu i ograničava broj presjeka koji se izračunavaju.
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
Izračun obuhvaća još manji broj blokova od prethodnog primjera jer u ovom slučaju definicija n-torke proširuje se na više sparse dimenzija izvan Proizvod->Tržište.
Želite li isprobati primjere, preuzmite predložak radne knjige CalcTuple_Tuple.xlsx
iz odjeljka Tehnički > Izračun u mapi gallery koja se nalazi u području Datoteke u web-sučelju Essbase. Upute potražite u README radnom listu koji se nalazi u radnoj knjizi.