Når du velger tupler, kan du fokusere Essbase-beregningene i det aktive rutenettet i Smart View, slik at omfanget begrenses til spesifikke datasektorer i blokklagringskuben.
Disse delene beskriver tuppelberegning:
Se FIX…ENDFIX hvis du vil ha opplysninger om syntaksen for bruk av @GRIDTUPLES i et beregningsskript.
Når du velger tupler, kan du fokusere Essbase-beregningene i det aktive rutenettet i Smart View, slik at omfanget begrenses til spesifikke datasektorer i blokklagringskuben.
Tuppelvalg hjelper deg med å optimalisere asymmetriske rutenettberegninger på tvers av dimensjoner, slik at du unngår overberegning.
Essbase-beregningstupler er forskjellige fra tupler som brukes i MDX-spørringer. Beregningsytelsen og kubestørrelsen drives i hovedsak av antallet blokker i kuben (gitt en bestemt blokkstørrelse). Beregningstupler angis derfor bare for kombinasjoner av spredte medlemmer. I tillegg kan flere medlemmer fra én spredt dimensjon inkluderes i en angivelse av en beregningstuppel, for enkel beregningsskripting. Hvis du for eksempel angir ("New York", "California", "Faktisk", "Cola") som beregningstuppel, beregner du følgende celleskjæringspunkter:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
Ta en titt på det symmetriske rutenettet nedenfor. Det er symmetrisk fordi hvert enkelt produkt har samme markeder og scenario (Faktisk) fremstilt i rutenettet.
Rutenettet nedenfor er asymmetrisk fordi produktet Diet Cola har færre markeder i rutenettet enn produktet Cola har.
Standard beregningsomfang, når flere enn én dimensjon er i en FIX-setning eller et skjæringspunkt for Smart View-rutenettet, er å beregne kryssproduktet (alle mulige kombinasjoner) for medlemmene i FIX-setningen eller rutenettet. En skjæringspunktdrevet beregning der kombinasjonen av produkt og marked hentes fra rutenettet, beregner med andre ord alle disse kombinasjonene av rad og medlem:
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"
Denne beregningsaktiviteten kan være mer omfattende enn du har behov for. Hvis du bare vil beregne kombinasjonene som vises i rutenettet, kan du angi hvilke tupler som skal beregnes, og begrense beregningen til en mindre sektor. Beregningstupler kan også redusere beregningstiden og kubestørrelsen.
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
En tuppel for beregning er måte å fremstille en datasektor med medlemmer på, fra to eller flere spredte dimensjoner. Sektoren skal brukes i beregningen av en Essbase-blokklagring.
Eksempler på gyldige beregningstupler:
("Diet Cola", "New York")
("Diet Cola", "Cola", Florida)
(Cola, "New Hampshire")
Hvis du skriver MDX-uttrykk, kan det hende du kjenner til disse tuppelbegrensningene som gjelder for MDX:
Når du velger tupler i beregningsskript, slakkes det imidlertid på disse begrensningene for enkelthets skyld. Du kan fritt skrive tuppeluttrykk, og tuplene kan beskrive medlemslister, slik denne tuppelen gjør: (@Barn(øst), Cola)
.
En enkel måte å velge tupler på, er å sette dem eksplisitt inn i et beregningsskript, som en liste i FIX-setningen.
Husk at formatet for en FIX-setning er som følger:
FIX (fixMbrs) COMMANDS ; ENDFIX
I FIX-setningen nedenfor er det angitt to tupler før kommandoblokken starter. Tuplene står i klammeparenteser, { }, som skiller ut et sett, som er en samling av tupler.
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
En annen måte å velge tupler på, er kontekstavhengig, basert på hvilke medlemmer som finnes i et skjæringspunkt i Smart View-rutenettet ved kjøring av beregningen. Dette gjør du ved å angi funksjonen @GRIDTUPLES som et argument i FIX i beregningsskriptet ditt.
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
Hvis du utfører dette beregningsskriptet fra Smart View mot rutenettet nedenfor, beregnes bare de viste kombinasjonene av produkter og markeder. "Diet Cola"->Massachusetts beregnes for eksempel ikke ettersom det ikke vises eksplisitt i rutenettet. Vær oppmerksom på at alle scenarioer (den tredje spredte dimensjonen i denne eksempelkuben) beregnes, selv om bare Faktisk vises i rutenettet. Dette skyldes at dimensjonen Scenario ikke er en del av GRIDTUPLES-setningen i beregningsskriptet.
Tuppelvalg, enten det gjøres med eksplisitte lister over tupler eller ved å bruke funksjonen @GRIDTUPLES, gjelder bare i konteksten av beregningskommandoen FIX…ENDFIX. Syntaksen til FIX-setningen utvides for å aktivere tuppelvalg:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
Ved hjelp av et Smart View-rutenett og en FIX-setning i et Essbase-beregningsskript kan du beregne valgte medlemstupler basert på skjæringspunktet i rutenettet. Du kan også eksplisitt skrive inn tuppelkombinasjonene i FIX-setningen og fjerne avhengigheten av et bestemt Smart View-rutenett for å definere beregningsomfanget.
Ved å beregne valgte tupler kan du jobbe effektivt med asymmetriske regioner i både beregningsskript og Smart View-rutenett.
Vurder følgende eksempler:
Hvis du vil prøve eksemplene, kan du laste ned arbeidsbokmalen CalcTuple_Tuple.xlsx
fra delen Teknisk > Beregn
i mappen Galleri i området Filer i Web-grensesnittet for Essbase. Du finner instruksjoner i regnearket VIKTIG i arbeidsboken.
Beregningsskriptet nedenfor viser standard beregningsvirkemåte for Essbase-blokklagring som forekommer når du ikke velger tupler. Det beregner hele kryssproduktet for dimensjonsmedlemmene Produkt og Marked fra et Smart View-rutenett.
Ved hjelp av to erstatningsvariabler for kjøretid (RTSV) som er definert i blokken SET RUNTIMESUBVARS, begrenses beregningen til det skjæringspunktet for Produkt og Marked som finnes i rutenettet når beregningen kjøres fra 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
Dette beregningsskriptet for blokklagring i Essbase bruker funksjonen @GRIDTUPLES til å velge tuppelen for dimensjonene Produkt og Marked og beregner tupler for bare disse to dimensjonene. Dette begrenser omfanget til medlemmene som finnes i et Smart View-rutenett når beregningen utføres fra Smart View.
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
Ved bare å rette opp de spredte dimensjonene som er navngitt i tuppelen, dekker beregningen et mye lavere antall blokker enn en standardberegning. Alle medlemmer fra dimensjoner som ikke er nevnt i rettingen (År, Scenario), beregnes imidlertid av dette beregningsskriptet.
Dette beregningsskriptet for Essbase-blokklagring bruker funksjonen @GRIDTUPLES og en erstatningsvariabel for kjøretid og beregner bare valgte tupler fra rutenettet, basert på valgene av spredte dimensjoner i RTSV-ledeteksten.
Erstatningsvariabelen for kjøretid, &DimSelections, som er definert i blokken SET RUNTIMESUBVARS, begrenser beregningsomfanget til bare de spredte dimensjonene i kuben, mens Scenario utelates. Funksjonen @GRIDTUPLES som brukes i FIX-setningen, kaller denne variabelen, noe som begrenser hvor mange skjæringspunkter som beregnes.
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
Beregningen dekker et enda mindre antall blokker enn i det forrige eksemplet, ettersom tuppeldefinisjonen i dette tilfellet er utvidet til flere spredte dimensjoner utover Produkt ->Marked.
Hvis du vil prøve eksemplene, kan du laste ned arbeidsbokmalen CalcTuple_Tuple.xlsx
fra delen Teknisk > Beregn i mappen Galleri i området Filer av Web-grensesnittet for Essbase. Du finner instruksjoner i regnearket VIKTIG i arbeidsboken.