Geselecteerde tupels berekenen

Als u tupels selecteert, kunt u zich richten op uw Essbase berekeningen in het actieve Smart View raster. Op die manier beperkt u het bereik tot specifieke gegevensslices in uw kubus met blokopslag.

In de volgende secties wordt een tupelberekening beschreven:

Voor de syntaxis voor het gebruiken van @GRIDTUPLES in een rekenscript raadpleegt u FIX…ENDFIX.

Case voor tupelberekening

Als u tupels selecteert, kunt u zich richten op uw Essbase berekeningen in het actieve Smart View raster. Op die manier beperkt u het bereik tot specifieke gegevensslices in uw kubus met blokopslag.

Met tupelselecties kunt u asymmetrische rasterberekeningen voor dimensies optimaliseren en overbodige berekeningen voorkomen.

Essbase berekeningstupels verschillen van tupels in MDX-query's. De prestaties van berekeningen en de grootte van de kubus zijn voornamelijk afhankelijk van het aantal blokken in de kubus (bij een gegeven, specifieke blokgrootte). Daarom worden berekeningstupels alleen opgegeven voor schaarsheidonderdeelcombinaties. Ter verhoging van het gebruiksgemak van berekeningsscripts kunnen meerdere onderdelen van één schaarsheiddimensie worden opgenomen in de specificatie van een berekeningstupel. Als u bijvoorbeeld ("New York", "California", "Actual", "Cola") opgeeft als berekeningstupel, kunt u de volgende celdoorsneden berekenen:

"New York"->"Actual"->"Cola"
"California"->"Actual"->"Cola"

Bekijk het volgende symmetrische raster. Het is symmetrisch omdat elk product dezelfde markten en hetzelfde scenario (Actual) heeft in het raster.

Symmetrisch raster met de waarden 'Actual, Jan' voor vijf markten voor 'Cola', en dezelfde vijf markten voor 'Diet Cola'

Het volgende raster is asymmetrisch, omdat het product 'Diet Cola' minder markten in het raster heeft dan het product 'Cola'.

Asymmetrisch raster met de waarden 'Actual, Jan' voor vijf markten voor 'Cola', maar slechts twee markten voor 'Diet Cola'

Bij meer dan één dimensie in een FIX-statement of een Smart View raster-POV (point-of-view) wordt standaard het kruisproduct (alle mogelijke combinaties) van de leden in het FIX-statement of raster berekend. Met andere woorden, in een POV-gestuurde berekening waarbij combinaties van producten en markten uit het raster worden opgehaald, worden alle volgende combinaties van rijen en leden berekend:

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"

Dit zijn wellicht meer berekeningen dan u nodig hebt. Als u alleen de combinaties wilt berekenen die in het raster worden getoond, kunt u opgeven welke tupels moeten worden berekend en de berekening beperken tot een kleiner segment. Door berekeningstupels te gebruiken, kan de rekentijd worden verkort en de grootte van de kubus worden verkleind.

Cola->"New York"
Cola->"Massachusetts"
Cola->"Florida"
Cola->"Connecticut"
Cola->"New Hampshire"
"Diet Cola"->"New York"
"Diet Cola"->"Florida"

Berekening op basis van tupels: uitleg

Een berekeningstupel wordt gebruikt voor het weergeven van een gegevensslice met onderdelen, afkomstig uit twee of meer schaarsheiddimensies, voor gebruik in een berekening voor een Essbase blokopslag.

Voorbeelden van geldige berekeningstupels:

  • ("Diet Cola", "New York")
  • ("Diet Cola", "Cola", Florida)
  • (Cola, "New Hampshire")

Als u MDX-uitdrukkingen schrijft, moet u rekening houden met de volgende tupelbeperkingen voor MDX:

  • U kunt slechts één onderdeel uit elke dimensie opnemen in een MDX-tupel.
  • Alle tupels in een MDX-set moeten dezelfde dimensies vertegenwoordigen, in dezelfde volgorde.

Bij het selecteren van tupels in berekeningsscripts worden deze vereisten echter versoepeld voor het gebruiksgemak. U kunt naar believen tupeluitdrukkingen schrijven. In de tupels kunt u lijsten met onderdelen beschrijven, bijvoorbeeld: (@Children(East), Cola).

Tupels selecteren voor POV-berekeningen

Een eenvoudige manier om tupels te selecteren, is deze expliciet in te voegen in een berekeningsscript, als lijst in het FIX-statement.

De indeling van een FIX-statement is als volgt:

FIX (fixMbrs)
COMMANDS ;
ENDFIX

In het onderstaande FIX-statement worden twee tupels opgegeven vóór het begin van het opdrachtblok. De tupels staan tussen accolades { } die een set aanduiden. Een set is een verzameling tupels.

FIX({
  (@Children(East), Cola),
  ("New York", Florida, "Diet Cola")
  })
Sales (Sales = Sales + 10;);
ENDFIX

Een andere manier om tupels te selecteren, is contextueel, op basis van de onderdelen die aanwezig zijn in het Smart View raster op het moment dat de berekening wordt uitgevoerd. Hiertoe gebruikt u de functie @GRIDTUPLES als argument voor het FIX-statement in het berekeningsscript.

FIX ({@GRIDTUPLES(Product, Market)})
   Sales (Sales = Sales + 10;);
ENDFIX

Als u dit berekeningsscript vanuit Smart View uitvoert op het onderstaande raster, worden alleen de weergegeven combinaties van producten en markten berekend. Zo wordt 'Diet Cola'->Massachusetts niet berekend, omdat het niet expliciet in het raster wordt getoond. Opmerking: alle scenario's (de derde schaarsheiddimensie in deze voorbeeldkubus) worden berekend, ook al wordt alleen 'Actual' getoond in het raster. Dit komt doordat de dimensie 'Scenario' geen deel uitmaakt van het GRIDTUPLES-statement in het berekeningsscript.

Asymmetrisch raster met de waarden 'Actual, Jan' voor vijf markten voor 'Cola', maar slechts twee markten voor 'Diet Cola'

Tupelselectie, of die nu wordt gedaan met expliciete lijsten met tupels of met de functie @GRIDTUPLES, is alleen van toepassing in de context van de berekeningsopdracht FIX…ENDFIX. De syntaxis van het FIX-statement is uitgebreid om tupelselectie mogelijk te maken:

FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs)
COMMANDS ;
ENDFIX
  • tupleList: door komma's gescheiden lijst met tupels.
  • dimensionList: twee of meer schaarsheiddimensies waarvan onderdelen van het actieve Smart View raster worden gebruikt om de berekening te definiëren. (In berekeningsscripts kunt u alleen schaarsheiddimensies gebruiken voor het definiëren van tupels.)
  • fixMbrs: een lid of een lijst met leden.

Voorbeelden van tupelselectie om het berekeningsbereik te verkleinen

Met behulp van een Smart View raster en een FIX-statement in een Essbase rekenscript kunt u bepaalde onderdeeltupels berekenen op basis van de grid point-of-view. U kunt de tupelcombinaties ook expliciet opgeven in het FIX-statement zodat u niet afhankelijk bent van een bepaald Smart View raster voor het definiëren van het berekeningsbereik.

Door specifieke tupels te berekenen kunt u efficiënt werken met asymmetrische regio's in berekeningsscripts en Smart View rasters.

Hieronder volgen een paar voorbeelden:

  • Geen tupelselectie - Standaardberekening, op basis van de huidige Smart View raster-POV (point-of-view). De berekening is niet beperkt tot specifieke tupels.
  • Selectie van benoemde schaarsheiddimensies - Berekening van tupels op basis van twee of meer schaarsheiddimensies die zijn benoemd in een berekeningsscript. De berekening is beperkt tot leden van de tupeldimensies die aanwezig zijn in het Smart View raster.
  • Selectie van contextuele schaarsheiddimensies - Berekening van tupels op basis van schaarsheiddimensies die zijn geselecteerd tijdens runtime. De berekening is beperkt tot onderdelen van de aanwezige tupeldimensies in het Smart View raster.

Als u de voorbeelden wilt uitproberen, downloadt u de werkboeksjabloon CalcTuple_Tuple.xlsx uit de sectie Technisch > Berekenen van de map Galerij in het gebied Bestanden van de webinterface van Essbase. Raadpleeg het werkblad README in het werkboek voor instructies.

Geen tupelselectie

In deze demo ziet u de berekening voor de blokopslag van Essbase die wordt uitgevoerd wanneer u geen tupels selecteert. Met het volgende rekenscript wordt het kruisproduct van alle onderdelen van de dimensies 'Product' en 'Market' in een Smart View raster berekend.

Met behulp van twee runtimevervangingsvariabelen (RTSV) die zijn gedefinieerd in het blok SET RUNTIMESUBVARS, wordt de berekening beperkt tot de POV's van 'Product' en 'Market' die in het raster aanwezig zijn op het moment dat de berekening wordt uitgevoerd vanuit 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

Selectie van benoemde schaarsheiddimensies

Met de functie @GRIDTUPLES kan de tupel van de dimensies 'Product' en 'Market' worden geselecteerd. Met dit berekeningsscript voor Essbase blokopslag worden alleen de tupels voor die twee dimensies berekend. Het bereik is beperkt tot de onderdelen die aanwezig zijn in een Smart View raster op het moment dat de berekening wordt uitgevoerd in Smart View.

FIX (
{@GRIDTUPLES(Product, Market)}
)
Marketing(
   Marketing = Marketing + 1;
);
ENDFIX

Door de berekening te beperken tot de benoemde schaarsheiddimensies in de tupel wordt deze op veel minder blokken uitgevoerd dan bij een standaardberekening. Alle leden van dimensies die niet in het FIX-statement zijn opgenomen (Year, Scenario) worden echter berekend door dit berekeningsscript.

Selectie van contextuele schaarsheiddimensies

In dit rekenscript van Essbase blokopslag worden, met behulp van de functie @GRIDTUPLES en een runtime-vervangingsvariabele, alleen de geselecteerde tupels in het raster berekend op basis van de geselecteerde schaarsheiddimensies in de RTSV-prompt.

De runtime-vervangingsvariabele &DimSelections, die is gedefinieerd in het blok SET RUNTIMESUBVARS, beperkt het bereik van de berekening tot de schaarsheiddimensies van de kubus, met uitzondering van 'Scenario'. Deze variabele wordt aangeroepen met de functie @GRIDTUPLES in het FIX-statement en beperkt het aantal doorsneden dat wordt berekend.

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
        

De berekening omvat nog minder blokken dan in het vorige voorbeeld, omdat de tupeldefinitie in dit geval is uitgebreid met meer schaarsheiddimensies dan Product->Market.

Als u de voorbeelden wilt uitproberen, downloadt u de werkboeksjabloon CalcTuple_Tuple.xlsx uit de sectie Technisch > Berekenen van de map Galerij in het gebied Bestanden van de webinterface van Essbase. Raadpleeg het werkblad README in het werkboek voor instructies.