Übersicht über fortgeschrittene, mithilfe des Befehls IBP_DB() definierte Regeln
Eine fortgeschrittene Regel kann auch unter Verwendung des Befehls IBP_DB() definiert werden. Zuerst müssen Sie die fortgeschrittene Berechnungsregel definieren. Vergleichen Sie dazu Eine fortgeschrittene Regel definieren.
Die Syntax der Infor BI OLAP DB()-Funktion sieht folgendermaßen aus:
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 DB()-Dimensionen, auch die zusätzlichen Dimensionen für Pivot-Attribute, müssen in der richtigen Reihenfolge angegeben werden. Pivot-Attribute können Zyklus-Modul-spezifisch sein, müssen aber in den DB()-Befehlen vordefiniert werden.
- IBP_DB() ist ein interner Befehl, der für fortgeschrittene Berechnungsregeln verwendet wird. Er stellt eine Möglichkeit dar, die OLAP DB()-Funktion schnell zu definieren.
- Beim Erstellen von Berechnungsregeln in OLAP (die Zyklusperiode wird über die Option "Start" bzw. "Wieder aufnehmen mit Aktualisierung" gestartet) werden alle Regeln, in denen die fortgeschrittene Regel einen IBP_DB()-Befehl enthält, in der Regel für den OLAP-Cube in eine entsprechende DB()-Funktion konvertiert. Diese Konvertierung erfolgt vor der Variablenersetzung.
Konvertierungsregeln:
- Die Benennungskonventionen für Parameter, zum Beispiel <Parametername>="<Parameterwert>", lauten:
- Doppelte Anführungszeichen oben sind erforderlich, wenn der Parameterwert "," oder ")" enthält. Anderenfalls können die Anführungszeichen entfallen.
- Der gesamte (angepasste) Text zwischen "=" und dem nächsten vorangestellten "," wird als Parameterwert angesehen.
- Werden Anführungszeichen verwendet, müssen alle "internen" Anführungszeichen mit dem Maskierungszeichen "\" (zum Beispiel \"Wert\") versehen werden.
- Sie müssen nur die Dimensionselemente angeben, die nicht mit dem Berechnungsziel übereinstimmen:
- Parameter, die nur auf den Dimensionsvariablen basieren wie %cube und !%items, die dieselbe Dimension und dieselben Elemente aus dem Quell-Cube lesen, brauchen nicht angegeben zu werden.
- Alle fehlenden Dimensionen werden durch den entsprechenden Namen der Cube-Dimension in der OLAP DB()-Funktion ersetzt.
- IBP_DB passt sich dynamisch an die Dimensionen in der Zyklusperiode an (i. e. das Hinzufügen aller relevanten Pivot-Dimensionen). Im IBP_DB-Befehl fehlende Pivot-Dimensionen, falls vorhanden, werden durch die entsprechenden Cube-Dimensionen in der OLAP DB()-Funktion ersetzt.
- Dimensionen werden auf einen einzigen Buchstaben abgekürzt, der den Parameter für die entsprechende Dimension repräsentiert:
- i = für Artikeldimension (item)
- l = für Ort (location)
- s = für Szenario
- p = für Periode
- m = für Kennzahl (measure)
- ia1 = für Artikelattribut 1 (ia2, usw.)
- la1 = für Ortsattribut 1 (la2, usw.)
Beispiele (wenn zwei Artikelattribute für die fortgeschrittene Regel verwendet werden):
A. Das aktuelle Szenario auf das zuvor veröffentlichte Szenario in der vorherigen (1 vorher) Zyklusperiode für diesen Zyklus und für alle anderen Dimensionen setzen:
IBP_DB(cube="%previouscube(1)", s=%previouspublishedscenario)
wird umgewandelt zu:
DB(%previouscube(1), !%items, !%locations, !%periods, %previouspublishedscenario, !%measures, !%itemsA1, !%itemsA2)
B. Die laufende Periode auf den Wert aus der vorherigen (1 vorher) Periode setzen für dieselbe Kennzahl und dieselben Dimensionen:
IBP_DB(p="GETATTR(%periods,!%periods,1,'PreviousPeriod')")
wird umgewandelt zu:
DB(%cube, !%items, !%locations, GETATTR(%periods,!%periods,1,'PreviousPeriod'), !%scenarios, !%measures, !%itemsA1, !%itemsA2)
C. Die laufende Periode auf den Wert der ersten untergeordneten Periode setzen für dieselbe Kennzahl und dieselben Dimensionen:
IBP_DB(p="DE.CHILDNAME(%periods, !%periods,1)")
wird umgewandelt zu:
DB(%cube, !%items, !%locations, DE.CHILDNAME(%periods, !%periods,1) ,!%scenarios, !%measures, !%itemsA1, !%itemsA2)