Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Inverse Formel definieren  Dokument im Navigationsbaum lokalisieren

Im folgenden wird an Hand einiger einfacher Beispiele verdeutlicht, wie das System Werte gemäß der im Query Designer zu einer eingabebereiten Formel definierten inversen Formeln berechnet.

Beispiel 1: Durchschnittspreis

Das erste Beispielszenario ist folgendes: Sie möchten mit folgenden Kennzahlen planen: Menge, Umsatz und Durchschnittspreis. Die Kennzahl Durchschnittspreis wird wie folgt berechnet:

‘Durchschnittspreis’ = NDIV0( ‘Umsatz’ / ‘Menge’ )

Hinweis

Um Fehler aufgrund einer Division durch Null zu vermeiden, verwenden wir hier die Funktion NDIV0.

Da die Kennzahl Durchschnittspreis eine berechnete Kennzahl ist und eingabebereit sein soll, benötigt das System Regeln, die beschreiben, wie eine Änderung des Wertes des Durchschnittpreises entweder auf die Menge oder auf den Umsatz zurückgerechnet werden soll. Diese Regeln werden durch inverse Formeln festgelegt. Das System benötigt eine inverse Formel für jeden Operanden der eingabebereiten Formel Durchschnittspreis.

Wir nehmen an, dass beide Operanden, Menge und Umsatz, eingabebereite Kennzahlen sind. In diesem Fall müssen Sie folgende inverse Formeln definieren:

‘Umsatz’ = ‘Durchschnittspreis’ * ‘Menge’

und

‘Menge’ = NDIV0( ‘Umsatz’ / ‘Durchschnittspreis’ )

Hinweis

Falls nur der Wert für den Durchschnittspreis geändert wird, ist es zunächst nicht eindeutig, ob das System auf die Menge oder auf den Umsatz zurückrechnen soll. In diesem Fall wendet das System die inverse Formel mit der höchsten Priorität an. Die Formelpriorität wird durch die Anordnung der inversen Formeln in der Formelgruppe bestimmt: Die Formel mit der höchsten Priorität steht an oberster Stelle in der Liste der inversen Formeln.

Beispiel 2: Prozentualer Anteil  

Das zweite Beispielszenario ist folgendes: Sie möchten mit folgenden Kennzahlen planen: Betrag und prozentualer Anteil des Betrages in Hinsicht auf die Gesamtsumme. Der prozentualer Anteil soll ebenfalls eingabebereit sein.

Dieser Fall kann wie Beispiel 1 mit einer eingabebereiten Formel und der Definition einer inversen Formel modelliert werden. Daneben gibt es aber auch die Möglichkeit, die Funktion ‘%GT’ (d.h. prozentualer Anteil an der Gesamtsumme) mit einigen zusätzliche Funktionen zu nutzen:

Definieren Sie im Query Designer folgende Formel:

‘% Anteil’ = %GT ‘Betrag’

Wählen Sie die Option Eingabebereit. Eine inverse Formel brauchen Sie nicht anzulegen.  

Eingabebereite Formeln, inverse Formeln und Formelgruppen

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

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 wiederverwendbaren Struktur definieren.   Dann müssen auch alle Elemente der Formelgruppe in der wiederverwendbaren 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.

      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 berechnete Kennzahlen können durch andere Einstellungen zur Laufzeit überschrieben werden. Eingabebereitschaft für berechnete Kennzahlen zur Laufzeit werden 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.

Ende des Inhaltsbereichs