Show TOC Anfang des Inhaltsbereichs

Vorgehensweisen Inverse Formel definieren  Dokument im Navigationsbaum lokalisieren

Eingabebereite Formel, inverse Formel und Formelgruppe

Im folgenden Abschnitt wird die Definition inverser Formeln mit Hilfe einer mathematischen Notation genau beschrieben.

Hinweis

Die Vorgehensweise, wie Sie im BEx Query Designer eingabebereite und inverse Formeln anlegen, finden Sie unter Eingabebereite Query.

Beispiele für inverse Formeln finden Sie unter Beispiele: Inverse Formel sowie im SAP-Hinweis 1236347.

Um eine inverse Formel genau beschreiben zu können, legen wir zunächst eine Notation fest. Wir nehmen an,

F = F(op1, …, opn)

ist eine Formel mit den Operanden op1 bis opn. Wenn diese Formel eingabebereit ist, nennen wir die Formel F Träger einer Formelguppe. Die Formelgruppe besteht (laut Definition) aus den Operanden op1 bis opn und der Formel F.

Für eingabebereite Formeln, inverse Formeln und Formelgruppen gelten folgende Regeln, die im Query Designer oder zur Generierungszeit der Query vom System überprüft werden:

FG1: Folgende Objekte sind als Operanden opi, i = 1, …, n für eine eingabebereite Formel F erlaubt:

       1.      Basis-Kennzahlen oder eingeschränkte Kennzahlen

       2.      Konstanten oder ‚Reporting’-Formeln; das sind Formeln, die während eines Server-Roundtrips aufgrund manueller Änderungen ihren Wert nicht ändern

       3.      Träger einer anderen Formelgruppe G, wobei F ≠ G und G nicht %GT (“Prozentualer Anteil an der Gesamtsumme”)

FG2: Wenn der Operand opi eingabebereit ist, muss man im Query Designer eine inverse Formel definieren, die opi aus den folgenden Operanden berechnet: F, op1, …, op(i-1), op(i+1), …, opn.

FG3: Sämtliche Elemente der Formelgruppe müssen entweder in der Kennzahl-Struktur oder in Ausnahmezellen enthalten sein; der letztgenannte Fall ist nur für Queries mit zwei Strukturen von Bedeutung.

Ausnahmefall: %GT (“Prozentualer Anteil an der Gesamtsumme”)

Wenn Sie den prozentualen Anteil an der Gesamtsumme berechnen möchten, wählen Sie die Formel F= %GT. In diesem Fall ist nur ein Operand erlaubt. Dieser Operand muss eine Basis-Kennzahl oder eine eingeschränkte Kennzahl mit eingeschalteter Disaggregation sein. Sie brauchen keine inverse Formel zu definieren.

Hinweise

      Wenn Sie im Query Designer aus dem Kontextmenü Anlegen inverser Formeln wählen, überprüft das System, zu welchen Operanden inverse Formeln angelegt werden müssen und legt eine entsprechende Liste an. Per Doppelklick auf eine inverse Formel gelangen Sie auf das Bild Formel ändern. Das System zeigt unter Verfügbare Operanden eine Liste aller erlaubten Operanden für die Umstellung der Formel an.

      Die inverse Formel zu einem eingabebereiten Operanden einer eingabebereiten Formel entsteht durch das Auflösen der Formel nach dem eingabebereiten Operanden.

      Man kann eingabebereite Formeln auch in einer wieder verwendbaren Struktur definieren.   Dann müssen auch alle Elemente der Formelgruppe in der wieder verwendbaren Strukturen liegen.

      In einer Query mit eingabebereiten Formeln dürfen die Kennzahlen nicht nur im Filter der Query enthalten sein.

      Das System unterstützt das Verketten von Formeln; Formeln können auch Schnittmengen haben und in anderen Formeln enthalten sein. Eine Schachtelung muss zyklenfrei sein.

Achtung

Beachten Sie, dass eine eingabebereite oder inverse Formel, sobald sie eine Formelvariable vom Typ Ersetzungspfad enthält, nicht geschachtelt werden darf, damit das System die Variable durch die Stammdatenattribute eines Merkmals in jedem Falle richtig ersetzen kann.

      Inverse Formeln sind technische Objekte, die für Invertierung von eingabebereiten Formeln benötigt werden. Daher haben inverse Formeln auf der Registerkarte Darstellung die Voreinstellung Immer Ausblenden. Zur Fehlersuche kann es hilfreich sein, diese technischen Formeln einzublenden.

Besonderheiten bei Queries mit zwei Strukturen

Um die Verwendung von Formeln in Queries mit zwei Strukturen genau beschreiben zu können, legen wir zunächst eine Notation fest.

Wir nehmen an, eine Query enthält zwei Strukturen X und Y:

X enthält die Elemente X1, …, Xm und wird in den Spalten dargestellt.

Y enthält die Elemente Y1, …, Yn und wird in den Zeilen dargestellt. Y enthält die Kennzahlen.

Die Kreuzungspunkte von zwei Strukturkomponenten Yi und Xk sind Zellen, die wir mit Yi/Xk = cik bezeichnen. Diese Zellen werden immer vom System generiert. Im Zelleditor des Query Designers können Sie diese Zellen allerdings als sog. Ausnahmezellen ausdrücklich definieren. Ausnahmezellen können vom Typ Zellreferenz, Selektion oder Formel sein.

Die folgende Tabelle veranschaulicht Zellen, die durch die Verwendung der beiden Strukturen X und Y entstehen:

Y/X

X1

Xi

Xm

Y1

C11

 

C1j

 

C1m

 

 

 

 

 

Yi

Ci1

 

Cij

 

Cim

 

 

 

 

 

Yn

Cn1

 

Cni

 

Cnm

Wir nehmen an, dass Yn = F = F(Y1, …, Yk) der Träger einer Formelgruppe ist, d.h. k < n und Yn ist eine eingabebereite Formel. Die Operanden Y1, …, Yk haben einen der Typen, die oben unter Regel FG1 genannt wurden. Wie die Notation bereits zeigt, müssen alle eingabebereiten Operanden in der Zeilenstruktur Y enthalten sein. Daraus ergibt sich die erste Regel:

C1: Wenn eine Query zwei Strukturen und keine Ausnahmezellen hat, können eingabebereite Formeln und inverse Formeln nur in einer Struktur definiert werden, d.h. alle eingabebereiten und inversen Formeln müsen in der Kennzahlstruktur enthalten sein.

Die Regel C1 ist eine Umschreibung der Regel FG3.

Die tatsächlich zu berechnenden Formeln in den Zellen der Zeile Yn für die Spalte Xj in der oben stehenden Tabelle kann man herleiten, indem man die Operanden Y1, …Yk durch die korrespondieren Zellen c1j, ckj ersetzt. Für die inversen Formeln gilt dasselbe.

Beispiel

Wie nehmen an, n = 3 und Y3 = Y2 / Y1, d.h. Y3 ist der Durchschnittspreis, Y2 ist Umsatz und Y1 ist Menge. Weiterhin nehmen wir an, m = 3 und X1, X2 haben den Typ Selektion, enthalten z.B. Einschränkungen nach dem Merkmal Vorgangsart wie etwa Kundenauftrag und Abrechnungsdaten in einem Szenario der Ergebnisrechnung. X3 enthält die Formel X3 = X1 + X2.

Y/X

X1

X2

X3 = X1 + X2

Y1

C11

C12

C13 = C11 + C12

Y2

C21

C22

C23 = C21 + C22

Yn

C31 = C21 / C11

C32 = C21 / C12

1.  C33 = C13 / C23

2.  C33 = C31 + C32

Wie dieses Beispiel zeigt, müssen wir festlegen, ob Kreuzungspunkte zwischen eingabebereiten Formeln und Reporting-Formeln eingabebereit sein können und dort ggf. inverse Formeln berechnet werden können.

Mit einer allgemeineren Notation nehmen wir an, dass Xm eine Formel ist; in diesem Fall muss eine Vorrangregel für die Kreuzungspunkte Yn = F und Xm festgelegt werden. Ohne eine solche Regel nimmt das System das zuletzt gesicherte Strukturelement. Auf der Registerkarte Erweitert für das Strukturelement Yn oder Xm können Sie festlegen, ob das System diese Formel oder die Formel aus der anderen Struktur für die Berechnung anwenden soll.

Aber Yn ist eine eingabebereite Formel, und es gibt inverse Formeln für die eingabebereiten Operanden Y1, …, Yk. Wie das Beispiel zeigt, spielt es am Kreuzungspunkt von Yn und Xm keine Rolle, ob das System im Kreuzungspunkt Yn/Xm die von Yn oder von Xm kommende Formel berechnet: Die Zelle Yn/Xm kann nicht eingabebereit sein, da dann auch eine Formelinversion für diese Zelle benötigt würde. Da aber Xm eine Reporting-Formel ist und keine Inversion hat, kann es hierfür auch keine Inversion geben. Daraus ergibt sich die zweite Regel:

C2: Der Kreuzungspunkt einer inversen Formel und einer nicht eingabebereiten Formel ergibt eine nicht eingabebereite Zelle. Das hängt nicht von den Einstellungen der Formelpriorität der eingabebereiten Formel oder der Formel aus der anderen Struktur ab. Im Ergebnis verwendet das System für diese Kreuzungspunkte keine inversen Formeln.

In den oben genannten Fällen wurden keine Ausnahmezellen verwendet. Im folgenden soll beschrieben werden, wie sich das System verhält, wenn Ausnahmezellen cij in der Formel F = F(c1j, …, ckj) verwendet werden, wobei die Variablen folgendes bedeuten:

i = 1, …, k sind die Indizes der Operanden der eingabebereiten Formel F, die in der Zeilenstruktur Y enthalten ist,

j ist der Index eines Strukturelementes der Spaltenstruktur X

C3: Wenn F eine eingabebereite Formel in der Kennzahlenstruktur Y und Yi ein Operand der Formel F in der Struktur Y ist, können Ausnahmezellen für die Kreuzungspunkte Yi/Xj von Yi mit Xj nach den folgenden Regeln so definiert werden, dass die eingabebereiten Formeln nicht zurückgesetzt werden:

...

       1.      Wenn Yi nicht eingabebereit ist, kann die Ausnahmezelle cij einen der folgenden Typen haben: nicht eingabebereite Selektion, nicht eingabebereite Formel

       2.      Wenn Yi eine eingabebereite Formel ist (oder ggf. auch ineinander verschachtelte eingabebereite Formeln), wird die oben genannte Regel 1. auf die Operanden von Yi angewendet. Das ist daher möglich, weil auch die Operanden von Yi in der Kennzahlstruktur Y enthalten sind (siehe Regel FG3).

Mit Rücksicht auf die oben genannte Regel FG3 gibt es noch einen Fall:

C4: Wenn es in der Kennzahlstruktur keine eingabebereite Formel gibt, kann eine eingabebereite Formel F nur in einer Ausnahmezelle definiert werden. Sämtliche Operanden der Formel müssen Ausnahmezellen sein. Für die Formel F und ihre Operanden gelten dann die Regeln FG1, FG2, FG3, wenn folgende Ersetzungen durchgeführt werden:

...

       1.      Basis-Kennzahl bzw. eingeschränkte Kennzahl ist zu ersetzen durch Ausnahmezelle vom Typ Selektion oder Zellreferenz vom Typ Selektion.

       2.      Nicht eingabebereite Formel ist zu ersetzen durch Ausnahmezelle vom Typ (nicht eingabebereite) Formel oder Zellreferenz vom Typ (nicht eingabebereite) Formel.

Hinweise

      Die im Query Designer getroffenen Einstellungen für eingabebereite Formeln können durch andere Einstellungen zur Laufzeit überschrieben werden. Eingabebereitschaft zur Laufzeit wird von den Operanden des Trägers der Formelgruppe geerbt. Wenn z.B. sämtliche Operanden einer eingabebereiten Formel nicht eingabebereit sind, kann auch die Formel selbst nicht eingabebereit sein.

      Eine Formel als Träger einer Formelgruppe hat keine eigene Disaggregationseinstellung. Wenn Werte für eingabebereite Formeln geändert werden, rechnet das System stets auf die zugrunde liegenden Basis- oder eingeschränkten Kennzahlen zurück, wobei letztere durchaus Disaggregationseinstellungen haben können. Im Ergebnis wird das Disaggregationsverhalten von eingabebereiten Kennzahlen also implizit durch die Basis-Kennzahlen festgelegt, die in der Formeldefinition enthalten sind.

Empfehlung

Wir empfehlen, ineinander geschachtelte Formelgruppen zu vermeiden, da der Anwender bei diesen die Rechenfolge meist nicht einfach ablesen kann.

Achtung

Beachten Sie, dass zur Laufzeit im Rahmen der Berechnung von eingabebereiten und inversen Formeln Rundungen durchgeführt werden. Die Anzeigeeinstellungen haben keinen Einfluss auf die Rundungen. Diese werden stets im Hinblick auf die von dem entsprechenden Datenbankfeld vorgegebene höchste Genauigkeit vorgenommen.

Spezielle Formelgruppe für die Prozentfunktion %GT

Die Prozentfunktion %GT (“Prozentualer Anteil an der Gesamtsumme”) ist eine spezielle Formelgruppe, für die keine inversen Formeln definiert zu werden brauchen. Wenn die Formel %GT(op) verwendet wird, muss der Operand op eingabebereit und entweder eine Basis- oder eine eingeschränkte Kennzahl mit eingeschalteter Disaggregation sein. Es ist nicht erlaubt, eingabebereite Formeln, die die Prozentfunktion %GT enthalten, ineinander zu verschachteln.

Rechenmodus und Formelpriorität

Der Rechenmodus legt fest, wann das System beginnen soll, inverse Formeln auszurechnen. Sie können den Rechenmodus im BEx Query Designer in den Eigenschaften der Query auf der Registerkarte Planung festlegen. Es gibt folgende Möglichkeiten:

Asymmetrischer und symmetrischer Rechenmodus

Berechnung von inversen Formeln

Beschreibung

Kennzeichen ist nicht gesetzt

Initialer Rechenmodus: Dies ist die Standardeinstellung. Zur Laufzeit der Query berechnet das System inverse Formeln, wenn mindestens ein Wert einer eingabebereitenFormel fixiert oder manuell geändert wurde.

Kennzeichen ist gesetzt

Symmetrischer Rechenmodus: Zur Laufzeit der Query berechnet das System inverse Formeln, wenn mindestens ein Element einer eingabebereitenFormel fixiert oder manuell geändert wurde.

Abhängig von dem gewählten Rechenmodus können Sie die Formelpriorität für alle inversen Formeln einer eingabebereiten Formel wie folgt festlegen:

Formelpriorität

Rechenmodus

Beschreibung

Initialer Rechenmodus

Unter der eingabebereiten Formel finden Sie alle inversen Formeln, die zu den eingabebereiten Operanden der Trägerformel angelegt wurden. Die Reihenfolge der inversen Formeln in dieser Liste bestimmt die Formelpriorität. Das oberste Element hat die höchste Priorität.

Symmetrischer Rechenmodus

Unter der eingabebereiten Formel finden Sie alle inversen Formeln, die zu den eingabebereiten Operanden der Trägerformel angelegt wurden, sowie die Trägerformel. Die Reihenfolge der inversen Formeln in dieser Liste bestimmt die Formelpriorität. Das oberste Element hat die höchste Priorität. Infolge dessen hat die Trägerformel nicht, wie im initialen Rechenmodus, stets die höchste Priorität, sondern kann auch eine niedrigere Priorität erhalten.

Wenn das System eine Formelgruppe zur Laufzeit berechnet und weder manuelle Eingabe noch fixierte Zellen oder vorangegangene Berechnungen eindeutig die Reihenfolge der Berechnungen bestimmen, berechnet das System die inverse Formel mit der höchsten Priorität.

Hinweis für Berechnung

Der Hinweis für Berechnung ist eine Eigenschaft der Formelgruppe. Wenn Sie dieselben Operanden in verschiedenen eingabebereiten Formeln verwenden, ist ggf. nicht eindeutig festgelegt, in welcher Reihenfolge die Formelgruppen abgearbeitet werden sollen. Sie können dies vermeiden, indem Sie die Priorität der Formelgruppen mit Hilfe von ganzen Zahlen im Feld Hinweis für Berechnung festlegen. Je niedriger der Wert, desto höher ist die Priorität der Formelgruppe. Für verschiedene Formelgruppen kann auch derselbe Wert für die Priorität vergeben werden; die Prioritäten dürfen auch Lücken enthalten.

Der Hinweis für Berechnung ist keine absolute, sondern eine relative Einstellung. Wie diese Einstellung die Reihenfolge der Formelgruppen bestimmt, hängt auch vom Kontext ab, z.B. von den geänderten, fixierten oder berechneten Zellwerten. In der Regel ist es nicht nötig, die Formelgruppenpriorität über den Hinweis für Berechnung ausdrücklich festzulegen.

Ende des Inhaltsbereichs