Datentypkonvertierung
Bei einigen Funktionen müssen Datenwerte zum richtigen Auswerten aus spezifischen Datentypen bestehen. Beispiel: Bei Funktionen, die mathematische Berechnungen durchführen, müssen Eingabeargumente Ganzzahlen oder Gleitkommawerte sein, wohingegen für Funktionen zur Zeichenfolgenmanipulation Zeichenfolgenwerte als Eingabe angegeben werden müssen. In einigen Fällen müssen Datenwerte von einem Datentyp in einen anderen konvertiert werden, um erfolgreich abgeleitet zu werden. Oracle Data Relationship Management bietet eine Gruppe von Funktionen, um Datentypkonvertierungen innerhalb von Formeln durchzuführen.
Eigenschaftsebenenbeschränkungen
Im Allgemeinen können Eigenschaftsdefinitionen, die zum Verwalten von Daten auf einer niedrigeren Granularitätsebene erstellt wurden, andere Eigenschaften referenzieren, die Daten auf einer höheren Granularitätsebene verwalten.
Lokaler Knoten – Kann andere lokale Knoten, globale Knoten, Hierarchien oder Versionseigenschaften referenzieren.
Globaler Knoten – Kann andere globale Knoten oder Versionseigenschaften referenzieren.
Hierarchie – Kann andere Hierarchien oder Versionseigenschaften (nur Suche) referenzieren.
Version – Kann andere Versionseigenschaften (nur Suche) referenzieren.
Eigenschaften aus anderen Knoten referenzieren
Für eine abgeleitete Eigenschaft oder Validierung ist es üblich, einen Eigenschaftswert aus einem anderen Knoten als dem aktuellen Knoten, für den die Formel berechnet wird, auszuwerten oder abzurufen. Data Relationship Management bietet mehrere Funktionen, mit denen Sie auf Eigenschaftswerte aus Knoten innerhalb derselben Version zugreifen können.
NodePropValue
ParentPropValue
HierNodePropValue
AncestorProp
DualAncestorProp
AscNodeProp
ReplacePropValue
ListPropValues
ListNodePropValues
Eigenschaften des lokalen Knotens aus Eigenschaften des globalen Knotens referenzieren
Für Eigenschaften des globalen Knotens ist zum Rückgeben eines Wertes kein Hierarchiekontext erforderlich, wohingegen für Eigenschaften des lokalen Knotens eine Hierarchie angegeben werden muss. Abgeleitete Eigenschaften oder Validierungen, die für einen globalen Knoten berechnet werden, können Eigenschaftswerte des lokalen Knotens mit den PropValue- oder NodePropValue-Standardfunktionen referenzieren. Eigenschaften des globalen Knotens können Eigenschaftswerte des lokalen Knotens mit der HierNodePropValue-Funktion referenzieren, wobei eine bestimmte Hierarchie angegeben werden muss, um den Wert der Eigenschaft für einen spezifischen lokalen Knoten in der Hierarchie abzurufen.
Funktionen verschachteln
Das Kombinieren von Funktionen in derselben Formel wird als Verschachteln von Funktionen bezeichnet. Die Ausgabe einer Funktion wird als Eingabeargument für eine andere Funktion in der Formel verwendet. Wenn verschachtelte Funktionen ausgewertet werden, führt Data Relationship Management zuerst die innerste Funktion aus und geht dann von innen nach außen vor. Funktionen können explizit innerhalb derselben Formel verschachtelt werden oder implizit, indem eine Formel verwendet wird, die sich auf eine Eigenschaft bezieht, die eine andere Formel verwendet.
Eigenschaften als Variablen für andere Eigenschaften verwenden
Mit Data Relationship Management können Sie eine Kombination von verschachtelten Funktionen, Referenzen auf andere Eigenschaften oder Knoten und literale Werte verwenden, was zu langen oder komplexen Formeln führen kann. Sie können separate Eigenschaftsdefinitionen verwenden, um die Formellogik zu modularisieren und die Formelsyntax zu vereinfachen, was für das Erreichen derselben Ergebnisse erforderlich ist. Dieser Ansatz kann die Verwaltungsfreundlichkeit für diese Formeln erheblich verbessern.
Darüber hinaus können Formeln dieselben Daten auswerten oder dieselbe Berechnung mehrerer Elemente innerhalb der Eigenschaftsdefinition oder über mehrere Eigenschaftsdefinitionen hinweg für einen angegebenen Knoten durchführen. Wenn diese Logik in eine viel größere Formel einbettet wird oder innerhalb von Eigenschaftsdefinitionen implementiert wird, werden diese Prüfungen und Berechnungen mehrmals durchgeführt. Dies kann sich auf die Performance für Vorgänge auswirken, für die die Eigenschaften berechnet werden müssen. Sie können redundante Verarbeitung minimieren, indem Sie die doppelte Formellogik innerhalb einer separaten Eigenschaftsdefinition isolieren.
Rekursion zum Durchlaufen von Hierarchiebeziehungen verwenden
Bei Geschäftsregeln für Knoten auf niedrigeren Ebenen einer Hierarchie kann die Auswertung von Eigenschaftswerten aus Vorgängerknoten einen höheren Ebene erforderlich sein. Eine Möglichkeit, dass diese Eigenschaftswerte von Knoten auf einer niedrigeren Ebene referenziert werden, besteht darin, Vererbung in die Eigenschaftsdefinition zu aktivieren, die die zu referenzierenden Werte verwaltet. In vielen Fällen jedoch ist das Verwenden einer Vererbung für eine Eigenschaftsdefinition nicht geeignet.
Sie können zum Durchführen einer Rekursion für einen Zweig einer Hierarchie spezifische hierarchische Formelfunktionen mit einer Selbstreferenz auf die aktuelle Eigenschaftsdefinition verwenden, um Eigenschaftswerte für Vorgängerknoten abzurufen oder auszuwerten.
ParentPropValue – Verwenden Sie diese Funktion, um eine Rekursion für einen Zweig von Vorgängern in der aktuellen Hierarchie durchzuführen. Beispiel: If(Equals(Integer,PropValue(Core.Level),1),Label Only,ParentPropValue(Essbase.DataStorage))
HierNodePropValue – Verwenden Sie diese Funktion, um eine Rekursion für einen Zweig von Vorgängern in einer anderen Hierarchie durchzuführen. Beispiel: If(Equals(Boolean,PropValue(Custom.PlanPoint),True),Abbrev(),HierNodePropValue(Geography,HierNodePropValue(Geography,Abbrev(),Core.Parent),Custom.PlanMember))