Formelvariablen in Berichten
Eine Formelvariable steht für eine vom Anwender definierte Formel, durch die ein Wert für die Variable festgelegt wird. Im Gegensatz zur Wertvariable ist der Vorschlagswert einer Formelvariable nicht fix. Das System errechnet automatisch Werte für Formelvariablen, wenn Sie einen Bericht ausführen, der die Formelvariable verwendet (z.B. anhand des Systemdatums oder anderer Variablen).
Der Report Writer generiert auf dem Selektionsbild nur Eingabefelder für unabhängige Variablen, wenn Sie die Berichtsgruppe des Berichts ausführen. Eine unabhängige Variable hängt nicht vom Wert einer anderen Variable ab. Sie sollten Ihre Variablen so definieren, daß Sie auf dem Selektionsbild des Berichts nur unabhängige Werte eingeben müssen.
In Ihrem Bericht werden z.B. Daten für das aktuelle Jahr und das vorige Jahr ausgegeben. Wenn Sie für diese beiden Jahre zwei unabhängige Variablen anlegen, müssen Sie bei der Berichtsausgabe auf dem Selektionsbild beide Jahre eingeben. Wenn Sie die Variable für das vorige Jahr als Formelvariable definieren, die ihren Wert aus der Variable für das aktuelle Jahr ableitet, müssen Sie auf dem Selektionsbild nur das aktuelle Jahr eingeben.
Bei der eigentlichen Berichtsdefinition müssen Sie keine unabhängigen Variablen verwenden. Wenn ein Bericht nur abhängige Variablen verwendet, legt der Report Writer die Werte für die unabhängigen Variablen fest und erzeugt auf dem Selektionsbild Eingabefelder für diese Variablen.
Weitere Informationen zum Anlegen von Formelvariablen finden Sie unter Formelvariablen anlegen.
Wenn Sie Formelvariablen verwenden, können Sie verschiedene neue Berichtstypen anlegen. Den folgenden Beispielen können Sie entnehmen, wie Sie Fomelvariablen in Ihren Berichten verwenden können.
Siehe hierzu den mit der Anwendungskomponente Spezielle Ledger
(FI-SL) ausgelieferten Beispielbericht 0R-FOVAR (Bibliothek 0R1).
Dieser Bericht verwendet Formelvariablen zum Anlegen von Berichtsspalten, die zwölf Perioden enthalten. Wenn Sie die Berichtsperiode und das Berichtsjahr bei der Ausführung des Berichts eingeben, gibt das System Daten für die Berichtsperiode und die vorhergehenden elf Perioden aus.
Um den Beispielbericht mit den rollierenden Perioden zu definieren, müssen Sie zwölf Formelvariablen für die zwölf Perioden und zwölf Formelvariablen für das betreffende Geschäftsjahr anlegen. Sie sollten die Formelvariablen in der Reihenfolge anlegen, in der sie in der folgenden Tabelle aufgelistet sind.
Wenn Sie einen Report-Writer-Bericht anlegen, legen Sie für jedes Variablenpaar eine Kennzahl an. (Zuerst müssen Sie Basic-Sets und Multi-Dimension-Sets anlegen, die die Formelvariablen enthalten.) Wenn Sie einen Report-Painter-Bericht anlegen, können Sie die Variablen direkt in die Berichtsdefinition eingeben.
Im Beispielbericht "Rollierende Perioden" verwendete Formelvariablen
Per.-Variable | Formel | Jahr.-Variable | Formel | |
|---|---|---|---|---|
Spalte 12 | &0R-RP00 | ‘#S002’ | &0R-RY00 | ‘#S001’ |
Spalte 11 | &0R-RP01 | IF ‘0R-RP00’ > 1 THEN ‘0R-RP00’ - 1 ELSE 12 | &0R-RY01 | IF ‘0R-RP01’ < ‘0R-RP00’ THEN ‘0R-RY00’ ELSE ‘0R-RY00’ - 1 |
Spalte 10 | &0R-RP02 | IF ‘0R-RP01’ > 1 THEN ‘0R-RP01’ - 1 ELSE 12 | &0R-RY02 | IF ‘0R-RP02’ < ‘0R-RP01’ THEN ‘0R-RY01’ ELSE ‘0R-RY01’ - 1 |
Spalte 9 | &0R-RP03 | IF ‘0R-RP02’ > 1 THEN ‘0R-RP02’ - 1 ELSE 12 | &0R-RY03 | IF ‘0R-RP03’ < ‘0R-RP02’ THEN ‘0R-RY02’ ELSE ‘0R-RY02’ - 1 |
Spalte 8 | &0R-RP04 | IF ‘0R-RP03’ > 1 THEN ‘0R-RP03’ - 1 ELSE 12 | &0R-RY04 | IF ‘0R-RP04’ < ‘0R-RP03’ THEN ‘0R-RY03’ ELSE ‘0R-RY03’ - 1 |
Spalte 7 | &0R-RP05 | IF ‘0R-RP04’ > 1 THEN ‘0R-RP04’ - 1 ELSE 12 | &0R-RY05 | IF ‘0R-RP05’ < ‘0R-RP04’ THEN ‘0R-RY04’ ELSE ‘0R-RY04’ - 1 |
Spalte 6 | &0R-RP06 | IF ‘0R-RP05’ > 1 THEN ‘0R-RP05’ - 1 ELSE 12 | &0R-RY06 | IF ‘0R-RP06’ < ‘0R-RP05’ THEN ‘0R-RY05’ ELSE ‘0R-RY05’ - 1 |
Spalte 5 | &0R-RP07 | IF ‘0R-RP06’ > 1 THEN ‘0R-RP06’ - 1 ELSE 12 | &0R-RY07 | IF ‘0R-RP07’ < ‘0R-RP06’ THEN ‘0R-RY06’ ELSE ‘0R-RY06’ - 1 |
Spalte 4 | &0R-RP08 | IF ‘0R-RP07’ > 1 THEN ‘0R-RP07’ - 1 ELSE 12 | &0R-RY08 | IF ‘0R-RP08’ < ‘0R-RP07’ THEN ‘0R-RY07’ ELSE ‘0R-RY07’ - 1 |
Spalte 3 | &0R-RP09 | IF ‘0R-RP08’ > 1 THEN ‘0R-RP08’ - 1 ELSE 12 | &0R-RY09 | IF ‘0R-RP09’ < ‘0R-RP08’ THEN ‘0R-RY08’ ELSE ‘0R-RY08’ - 1 |
Spalte 2 | &0R-RP10 | IF ‘0R-RP09’ > 1 THEN ‘0R-RP09’ - 1 ELSE 12 | &0R-RY10 | IF ‘0R-RP10’ < ‘0R-RP09’ THEN ‘0R-RY09’ ELSE ‘0R-RY09’ - 1 |
Spalte 1 | &0R-RP11 | IF ‘0R-RP10’ > 1 THEN ‘0R-RP10’ - 1 ELSE 12 | &0R-RY11 | IF ‘0R-RP11’ < ‘0R-RP10’ THEN ‘0R-RY10’ ELSE ‘0R-RY10’ - 1 |
Die Formelvariablen &0R-RP00 (Periode der letzten Spalte) und &0R-RY00 (Geschäftsjahr der letzten Spalte) sind die einzigen unabhängigen Variablen in den Berichtsspalten. Jedes Variablenpaar errechnet die Periode und das Geschäftsjahr der vorhergehenden Periode. Wenn das System mit Hilfe von Periode 1 die vorhergehenden Perioden errechnet, ändert sich das Geschäftsjahr.
In diesem Beispielbericht werden drei Spalten für die Perioden des Quartals q ausgegeben.
Um die Berichtsspalten zu definieren, müssen Sie zunächst die Wertvariable &QUARTAL für das Merkmal "Periode" anlegen. Als Variablenbeschreibung geben Sie Quartal ein. Diese Variable ist die unabhängige Variable. Anschließend müssen Sie drei Formelvariablen (siehe folgende Tabelle) für die drei Perioden des Quartals anlegen.
Formelvariablen, die zur Berechnung der Perioden des Quartals q verwendet werden
Period.-Variable | Formel | |
Spalte 1 | &QPER1 | ‘QUARTAL’ * 3 - 2 |
Spalte 2 | &QPER2 | ‘QUARTAL’ * 3 - 1 |
Spalte 3 | &QPER3 | ‘QUARTAL’ * 3 |
In diesem Beispiel wird angenommen, daß das erste Quartal aus den Perioden eins, zwei und drei besteht. Sie geben die Formelvariablen &QPER1, &QPER2 und &QPER3 in Kennzahlen ein, wenn Sie einen Report-Writer-Bericht anlegen. Wenn Sie einen Report-Painter-Bericht anlegen, können Sie die Variablen direkt in die Spaltendefinition eingeben.
Die unabhängige Variable &QUARTAL wird nicht direkt im Bericht verwendet, sondern indirekt über die Formelvariablen. Wenn Sie die Berichtsgruppe des Berichts ausführen, erzeugt der Report Writer das Eingabefeld Quartal
für die unabhängige Variable &QUARTAL. Dann können Sie Quartal eins, zwei, drei oder vier eingeben, um Ihren Bericht für das betreffende Quartal ausgeben zu lassen.
In diesem Beispielbericht werden drei Spalten für die Perioden des Quartals q ausgegeben. Im Gegensatz zu dem Bericht aus Beispiel 2 geben Sie auf dem Selektionsbild zur Festlegung der drei Periodenspalten eine Periode des Quartals und nicht das Quartal selbst an.
Um die Berichtsspalten zu definieren, müssen Sie zunächst die Wertvariable &PERIODE für das Merkmal "Periode" anlegen. Als Variablenbeschreibung geben Sie Periode ein. diese Variable ist die unabhängige Variable. Anschließend müssen Sie drei Formelvariablen anlegen (siehe folgende Tabelle), durch die die drei Perioden des Quartals festgelegt werden.
Der in den obigen Formeln verwendete Operator DIV steht für Division ohne Rest (z.B. 8 DIV 3 = 2).
Das System verarbeitet zuerst die in Klammer stehende Formel, um anhand der von Ihnen auf dem Selektionsbild eingegebenen Periode das Quartal zu ermitteln. Anschließend verarbeitet es den Rest der Formel, um die Perioden des ersten Quartals zu berechnen.
Formelvariablen, die zur Berechnung der Perioden des Quartals q anhand der Periode p verwendet werden
Period.-Variable | Formel | |
|---|---|---|
Spalte 1 | &QPER1 | ((‘PERIODE’ - 1) DIV 3 + 1) * 3 - 2 |
Spalte 2 | &QPER2 | ((‘PERIODE’ - 1) DIV 3 + 1) * 3 - 1 |
Spalte 3 | &QPER3 | ((‘PERIODE’ - 1) DIV 3 + 1) * 3 |
In diesem Beispiel wird angenommen, daß das erste Quartal aus den Perioden eins, zwei und drei besteht. Die unabhängige Variable &PERIODE wird nicht direkt im Bericht verwendet, sondern indirekt über die Formelvariablen. Wenn Sie die Berichtsgruppe des Berichts ausführen, erzeugt der Report Writer das Eingabefeld Periode
für die unabhängige Variable &PERIODE. Dann können Sie die Periode eins, zwei oder drei eingeben, um Ihren Bericht für die Perioden des ersten Quartals auszugeben.
Mit Hilfe dieses Beispielberichts können Sie einen Bericht anlegen, der eine variable Anzahl von Spalten für die Perioden eins bis zwölf enthält. Es ist nicht möglich, direkt bei der Berichtsdefinition eine variable Anzahl von Spalten zu definieren; sie können dies jedoch tun, indem Sie einen Spaltenblock anlegen, der aus zwölf Spalten besteht, von denen jede durch eine Formelvariable repräsentiert wird.
Hinweis
Wenn in Ihrem System Daten für Periode 16 gebucht wurden, sollten Sie eine andere Periode verwenden, die keine Daten enthält (z.B. Periode 17).
Um die Berichtsspalten zu definieren, müssen Sie zuerst die Wertvariablen &PER_FROM und &PER_TO für das Merkmal "Periode" anlegen. Diese Variablen sind unabhängige Variablen. Dann müssen Sie die Formelvariablen anlegen (siehe folgende Tabelle), die sich alle auf die unabhängigen Periodenvariablen beziehen. Wenn Sie die Formelvariablen angelegt haben, müssen Sie sie in ein Basic-Set (das für das Merkmal "Periode" angelegt wurde) eingeben, wenn Sie einen Report-Writer-Bericht anlegen. Wenn Sie einen Report-Painter-Bericht anlegen, können Sie die Formelvariablen direkt in die Spaltendefinition eingeben.
Formelvariablen, die zum Anzeigen einer variablen Anzahl von Berichtsspalten verwendet werden
Period.-Variable | Formel | |
|---|---|---|
Spalte 1 | &PER01 | IF 1 >= ‘PER_FROM’ AND 1 <= ‘PER_TO’ THEN 1 ELSE 16 |
Spalte 2 | &PER02 | IF 2 >= ‘PER_FROM’ AND 2 <= ‘PER_TO’ THEN 2 ELSE 16 |
Spalte 3 | &PER03 | IF 3 >= ‘PER_FROM’ AND 3 <= ‘PER_TO’ THEN 3 ELSE 16 |
Spalte 4 | &PER04 | IF 4 >= ‘PER_FROM’ AND 4 <= ‘PER_TO’ THEN 4 ELSE 16 |
Spalte 5 | &PER05 | IF 5 >= ‘PER_FROM’ AND 5 <= ‘PER_TO’ THEN 5 ELSE 16 |
Spalte 6 | &PER06 | IF 6 >= ‘PER_FROM’ AND 6 <= ‘PER_TO’ THEN 6 ELSE 16 |
Spalte 7 | &PER07 | IF 7 >= ‘PER_FROM’ AND 7 <= ‘PER_TO’ THEN 7 ELSE 16 |
Spalte 8 | &PER08 | IF 8 >= ‘PER_FROM’ AND 8 <= ‘PER_TO’ THEN 8 ELSE 16 |
Spalte 9 | &PER09 | IF 9 >= ‘PER_FROM’ AND 9 <= ‘PER_TO’ THEN 9 ELSE 16 |
Spalte 10 | &PER10 | IF 10 >= ‘PER_FROM’ AND 10 <= ‘PER_TO’ THEN 10 ELSE 16 |
Spalte 11 | &PER11 | IF 11 >= ‘PER_FROM’ AND 11 <= ‘PER_TO’ THEN 11 ELSE 16 |
Spalte 12 | &PER12 | IF 12 >= ‘PER_FROM’ AND 12 <= ‘PER_TO’ THEN 12 ELSE 16 |
Hinweis
Das Kennzeichen Nullspalten unterdrücken
muß im dem Bericht zugeordneten Standardlayout markiert sein, damit Spalten, die keine Werte enthalten, bei der Berichtsausgabe nicht angezeigt werden.
Wenn Sie die Berichtsgruppe des Berichts ausführen, erzeugt der Report Writer Eingabefelder für die unabhängigen Variablen &PER_FROM und &PER_TO, durch die das Periodenintervall festgelegt wird.
Sie können Formelvariablen anlegen, die anhand des Systemdatums die aktuelle Periode und das aktuelle Geschäftsjahr vorschlagen. Wenn Sie mit einem verschobenen Geschäftsjahr arbeiten, können Sie Formelvariablen anlegen, die anhand des aktuellen Systemdatums die entsprechende Periode und das entsprechende Geschäftsjahr als Vorschlagswert ermitteln.
Beispielformelvariablen für die Berechnung von Vorschlagswerten für ein verschobenes Geschäftsjahr
Beschreibung | Formel |
|---|---|
Kalenderjahr nach Systemdatum | ‘#S001’ |
Kalendermonat nach Systemdatum | ‘#S002’ |
Aus dem Systemdatum errechnetes verschobenes Geschäftsjahr (das verschobene Geschäftsjahr beginnt im Juli) | IF ‘#S002’ > 6 THEN ‘#S001’ + 1 ELSE ‘#S001’ |
Aus dem Systemdatum errechnete Periode (das verschobene Geschäftsjahr beginnt im Juli) | IF ‘#S002’ >6 THEN ‘#S002’ - 6 ELSE ‘#002’ + 6 |