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.
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.
Het volgende raster is asymmetrisch, omdat het product 'Diet Cola' minder markten in het raster heeft dan het product '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"
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:
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)
.
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.
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
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:
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.
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
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.
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.