Extra voorbeelden geavanceerde regels
Dimensieconstanten
In SCP kunt u met calculatieregels de dimensieconstanten opgeven die zijn aangemaakt voor artikel, locatie en periode. Hiermee kunt u alle elementen in een dimensie opgeven om de waarde van het constantelement op te halen of, juister geformuleerd, om een doelcalculatie op te geven voor de dimensieconstant (filtertekst).
Als u bijvoorbeeld wilt opgeven dat alle locaties de waarde van de locatieconstant LCONST moeten krijgen, luidt de tekst voor de definitie van de complexe regel: ['LCONST']
.
Als u een calculatie wilt opgeven met een doel van het constantelement, luidt de filtertekst: 'LCONST'
.
Null-waarden
Het is raadzaam om in OLAP geen 0-waarden in te vullen waar geen waarde hoort. Gebruik in plaats daarvan een definitie voor null: #NA
.
Als u bijvoorbeeld een null-waarde wilt opgeven voor een calculatieregel (of gefilterde elementen in een calculatie), moet de tekst voor de definitie van de complexe regel luiden: #NA
STET-opdracht
Voor bepaalde gefilterde elementen van een calculatie kunt u configureren dat de OLAP-regelengine de bestaande opgeslagen waarde gebruikt (en deze niet calculeert voor dit filter of deze subselectie). In dit geval kunt u de opdracht STET (Latijn voor "laten staan") gebruiken. Met deze opdracht wordt door OLAP de doeldimensie niet gecalculeerd en wordt de bestaande waarde intact gelaten.
GETATTR-opdracht
Met deze functie kunt u een attribuut ophalen in een van de kubusdimensies, bijvoorbeeld een attribuut van een artikel, locatie of periode die in de calculatie kan worden gebruikt.
Syntaxis:
GETATTR(DimName,ElemName,ATabID,FieldName)
Attribuut | Omschrijving |
---|---|
DimName
|
Dimensienaam: artikel, locatie, periode, measure en scenario. |
ElemNaam
|
Een elementnaam. |
ATabID
|
Attribuuttabelnummer (default "1"). |
FieldName
|
Veldnaam van attribuut. |
Als u bijvoorbeeld het attribuut SVorigePeriode (vorige periode in de structuur) wilt ophalen voor een periode-element in een periodedimensie:
GETATTR(%periods, !%periods,1,'HPreviousPeriod')
DB-opdracht
Met deze functie kunt u een query indienen voor een specifieke waarde in de kubus of een andere kubus met vergelijkbare dimensies raadplegen.
Syntaxis:
DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
Attribuut | Omschrijving |
---|---|
Cube
|
De naam van de externe kubus. |
Dim1Element
|
Een element van de eerste dimensie van de kubus. |
Dim2Element
|
Een element van de tweede dimensie van de kubus, enzovoort. |
SCP heeft vijf standaarddimensies (artikelen, locaties, perioden, measures, scenario's) met extra artikel- en locatiedimensies voor elk kernattribuut dat voor die combinatie cyclusperiode/module (of kubus) is gedefinieerd. Dit moet in de DB-opdracht in de vereiste volgorde worden opgegeven. Als de huidige kubus en de referentiekubus dezelfde dimensies hebben, kunt u het argument voor een bepaalde dimensie als variabele opgeven. Zo beslaat de calculatie alle elementen in de dimensie die door de kubussen wordt gedeeld. Als u een dimensieargument als variabele wilt opgeven, geeft u de dimensienaam op als argument, voorafgegaan door een uitroepteken: !artikelen
.
Als u bijvoorbeeld de waarde voor measure NSO_NET_SUPPLY wilt ophalen uit de kubus voor het periode-element dat wordt aangegeven met het attribuut SVorigePeriode en voor bijbehorende elementen of andere dimensies:
DB(%cube, !%items, !%locations, GETATTR(%periods, !%periods,1,'HPreviousPeriod'), !%scenarios, 'NSO_NET_SUPPLY')