Overzicht van complexe regels die zijn gedefinieerd op basis van de opdracht IBP_DB()
Een complexe regel kan ook worden gedefinieerd met de opdracht IBP_DB(). U moet eerst de complexe calculatieregel definiëren. Zie Een complexe regel definiëren.
De syntaxis van de functie Infor BI OLAP DB() is als volgt:
DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
Cube = the name of the external Cube.
Dim1Element = an element of the first dimension of Cube, Dim2Element is an element of the 2nd dimension of Cube, etc...
- Alle dimensies van DB(), inclusief extra dimensies voor kernattributen, moeten worden opgegeven in de juiste volgorde. Kernattributen kunnen specifiek zijn voor een cyclus en module, maar moeten vooraf worden gedefinieerd in de DB()-opdrachten.
- IBP_DB() is een interne opdracht voor complexe calculatieregels waarmee snel de functie OLAP DB() kan worden gedefinieerd.
- Wanneer u calculatieregels aanmaakt in OLAP (de cyclusperiode wordt gestart met behulp van de optie Starten of Hervatten met vernieuwen), worden regels waarbij de complexe regel de opdracht IBP_DB() bevat, geconverteerd naar een overeenkomende DB()-functie in de regel voor de OLAP-kubus. Deze conversie vindt plaats vóór de vervanging van variabelen.
Conversieregels:
- Voor de naamgevingsconventie voor parameters, bijvoorbeeld <parameternaam>="<parameterwaarde>", geldt het volgende:
- Er zijn dubbele aanhalingstekens vereist als de parameterwaarde "," of ")" bevat. Anders kunnen de aanhalingstekens worden weggelaten.
- Alle (afgekapte) tekst tussen "=" en de volgende voorafgaande "," wordt beschouwd als parameterwaarde.
- Wanneer aanhalingstekens worden gebruikt, moeten alle "interne" aanhalingstekens vooraf worden gegaan door het Escape-teken "\", bijvoorbeeld \"waarde\".
- U hoeft alleen de dimensie-elementen op te geven die verschillen van het calculatiedoel:
- Parameters die alleen zijn gebaseerd op dimensievariabelen zoals %cube en !%items, en waarbij dezelfde dimensies en elementen worden gelezen uit de bronkubus, hoeft u niet op te geven.
- Eventueel ontbrekende dimensies worden vervangen door de betreffende kubusdimensienaam in de functie OLAP DB().
- IBP_DB past de dimensies in de cyclusperiode (dat wil zeggen, de toevoeging van relevante kerndimensies) dynamisch aan. Eventueel ontbrekende dimensies in de opdracht IBP_DB worden vervangen door de betreffende kubusdimensies in de functie OLAP DB().
- Dimensies worden afgekort tot één letter die de parameter aangeeft voor de bijbehorende dimensie:
- i = artikeldimensie
- l = locatie
- s = scenario
- p = periode
- m = measure
- ia1 = artikelattribuut 1 (ia2, enzovoort)
- la1 = locatieattribuut 1 (la2, enzovoort)
Voorbeelden (als twee artikelattributen worden gebruikt voor de complexe regel):
A Het huidige scenario instellen op het vorige gepubliceerde scenario in de vorige cyclusperiode (1 periode eerder) voor deze cyclus en voor alle andere dimensies:
IBP_DB(cube="%previouscube(1)", s=%previouspublishedscenario)
wordt geconverteerd naar:
DB(%previouscube(1), !%items, !%locations, !%periods, %previouspublishedscenario, !%measures, !%itemsA1, !%itemsA2)
B. De huidige periode instellen op de waarde van de vorige periode (1 periode eerder) voor dezelfde measure en dimensies:
IBP_DB(p="GETATTR(%periods,!%periods,1,'PreviousPeriod')")
wordt geconverteerd naar:
DB(%cube, !%items, !%locations, GETATTR(%periods,!%periods,1,'PreviousPeriod'), !%scenarios, !%measures, !%itemsA1, !%itemsA2)
C. Stel de huidige periode in op de waarde van de eerste onderliggende periode voor dezelfde measure en dimensies:
IBP_DB(p="DE.CHILDNAME(%periods, !%periods,1)")
wordt geconverteerd naar:
DB(%cube, !%items, !%locations, DE.CHILDNAME(%periods, !%periods,1) ,!%scenarios, !%measures, !%itemsA1, !%itemsA2)