Beregne valgte tupler

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.

Brukstilfelle for tuppelberegning

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.

Symmetrisk rutenett med verdier for Faktisk, Jan for fem markeder for Cola, og de samme fem markedene for Diet Cola

Rutenettet nedenfor er asymmetrisk fordi produktet Diet Cola har færre markeder i rutenettet enn produktet Cola har.

Asymmetrisk rutenett med verdier for Faktisk, Jan for fem markeder for Cola, men bare to markeder for Diet Cola

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"

Forstå tuppelbasert beregning

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:

  • Bare ett medlem fra hver dimensjon kan inkluderes i en MDX-tuppel
  • Alle tupler i et MDX-sett må ha de samme dimensjonene representert, i samme rekkefølge

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).

Velge tupler for beregning av skjæringspunkt

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.

Asymmetrisk rutenett med verdier for Faktisk, Jan for fem markeder for Cola, men bare to markeder for Diet Cola

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
  • tupleList – kommadelt sett med tupler.
  • dimensionList – minst to spredte dimensjoner der medlemmer fra det aktive Smart View-rutenettet brukes til å definere beregningsområdene. (I beregningsskript kan du bare bruke spredte dimensjoner til å definere tupler.)
  • fixMbrs – et medlem eller en liste over medlemmer.

Eksempler på tuppelvalg for å redusere beregningsomfang

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:

  • Ikke noe tuppelvalg – beregner på standardmåten, basert på gjeldende skjæringspunkt i Smart View-rutenettet. Beregningen er ikke begrenset til noen bestemte tupler.
  • Valg av navngitte spredte dimensjoner – beregner tupler fra to eller flere spredte dimensjoner som er navngitt i et beregningsskript. Beregningen er begrenset til medlemmer fra tuppeldimensjonene som finnes i Smart View-rutenettet.
  • Valg av kontekstavhengige spredte dimensjoner – beregner tupler fra spredte dimensjoner som velges ved kjøring. Beregningen er begrenset til medlemmer fra tuppeldimensjonene i Smart View-rutenettet.

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.

Ikke noe tuppelvalg

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

Valg av navngitte spredte dimensjoner

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.

Valg av kontekstavhengige spredte dimensjoner

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.