Formel

formula

Formeln übernehmen rechnerische Aufgaben im Zusammenhang mit Berechnungen von Ergebnissen und Totalisierungen.
Formeln erlauben Klammern und Konstanten und helfen so, die Inhalte der Datenfelder in Ergebnisse umzuwandeln.

Um eine neue Formel zu definieren, klicken Sie auf das Feld Formel in der ToolBox des Ribbon.
Damit wird ein leeres Formelobjekt angelegt.
Mit Doppelklick im Formelfeld schalten Sie in den Eingabemodus für die Formel um.
Schreiben Sie Ihre gewünschte Formel in das bereitstehende Feld und schliessen Sie die Eingabe mit der Eingabetaste 'Enter' ab. 

Aufbau einer Formel

Formeln können in jeder Sektion definiert werden. In Kopf- und Fuss-Sektionen kommen in erster Linie Totalisierungen in Frage, während in den Datensektionen Berechnungen mit den einzelnen Werten aus Datenfeldern realisiert werden können.

Eine Felddefinition innerhalb einer Formel muss mit einem # beginnen.
Der Feldname ist immer aus der Datentabelle (z.B. T066), einem Punkt als Trenner und dem Datenfeld (z.B. F010) zusammengesetzt. 
Das Feld Aktuelle Lagermenge (Feld T066.F010) wird innerhalb der Formel also folgendermassen dargestellt: #T066.F010.
Zwischen den Feldern können die normalen Standardoperatoren (+ - / * ) mit Klammern und Konstanten verwendet werden.

Eine gültige Formel wäre also etwa (#T066.F010-#T066.F012)*.5 (#T066.F010 = Bestand aktuell, #T066.F012 = Bestand bestellt). 

Totalisierungen
Totalisierungen in Kopf- und Fuss-Sektionen beginnen grundsätzlich mit TOx.

europa3000 unterscheidet drei Formen der Totalisierung: 

Subtotale
Subtotale in den eigens dafür vorgesehenen Subtotal-Sektionen beginnen immer mit dem Totalisierungskürzel TOT.

An der nächsten Stelle setzen Sie den Code für das zu totalisierende Feld ein (z.B. TOT#T066.F010, wenn Sie die aktuellen Bestände bestimmter Lagerartikel subtotalisieren wollen).
Nach einem Strichpunkt '' müssen Sie der Subtotal-Formel nun noch mitteilen, beim Wechsel eines Kriteriums (z.B. wenn die Warengruppe (#T066.F017) wechselt), das Subtotal ausgegeben werden soll.
Damit sieht eine vollständige Subtotal-Formel folgendermassen aus: 

TOT#T066.F010;#T066.F017:   Totalisierung des Inhalts von Feld T066.F010 (= aktueller Bestand), Ausgabe der Subtotal-Sektion wenn sich der Inhalt von Feld #T066.F017 (= Warengruppe) ändert.

Die Totalisierung kann selbstverständlich mehrere Felder und Berechnungen umfassen.

Innerhalb einer Subtotal-Sektion können mehrere Totalisierungen vorgenommen werden, allerdings kann nur ein Ausgabekriterium definiert werden.
Sind unterschiedliche Ausgabekriterien vorhanden, wird auf das Ausgabekriterium der ersten Formel zugegriffen. 

Formeln mit (Sub-)Totalen 
In einer Sektion mit (Sub-)Totalen können diese Totalen in Formeln weiterverwendet werden.
Dazu müssen die Totalen numeriert werden, indem an TOT eine einstellige Ziffer in eckigen Klammern angefügt wird:
TOT[1]#T066.F010
TOT[2]#T066.F012
oder

TOT[1]#T066.F010;T066.F017  (Subtotal)
TOT[2]#T066.F012;T066.F017 

Eine Formel könnte dann folgendermassen aussehen:
100*#[2]/#[1]  um z.B. den Bestand bestellt in Prozent vom aktuellen Lagerbestand darzustellen. 

Formeleigenschaften
Formeln haben die gleichen Eigenschaften wie Felder (Schriftart, Ausrichtung, Formatierung, Rahmendefinition). 

Formeleinstellungen 

Sie können die Darstellung des Formelergebnisses innerhalb bestimmter Grenzen frei bestimmen.
Wählen Sie dazu die betreffende Formel an.
Sie können die Eigenschaften nun in der Toolbox oder über den Dialog Formel/Einstellungen ändern (rechte Maustaste auf der Formel, anschliessend im Menu Einstellungen auswählen).

Sie können für das Formelergebnis die Anzahl Stellen vor sowie nach dem Komma und die Rundungsgenauigkeit definieren.
Tragen Sie im obenstehenden Dialog die gewünschten Werte ein. 

Rundungsgenauigkeit
0 = Eingestellte Systemrundung berücksichtigen (Betriebswirtschaft/Moduleinstellungen/Grundeinstellungen)

1 = Auf einen Hunderstel genau
2 = auf fünf Hunderstel genau
3 = auf einen Zehntel genau
4 = auf 5 Zehntel genau
5 = auf ganze Zahlen runden
6 = auf 5 runden
7 = auf 10 runden
8 = auf 100 runden

Fehlermeldungen
Bei der Verwendung von Formeln findet zur Laufzeit eine Syntaxüberprüfung statt. Eine Fehlermeldung wird anstelle der Formel in der Form ??? Err XX ausgegeben, wobei XX durch die entsprechende Fehlernummer ersetzt ist.


Fehlercodes:
1 = Ungültige Zeichen innerhalb der Formel
2 = Die Formel ist leer oder startet mit einem ungültigen Operator.
3 = Fehler im Aufbau der Formel (z.B. Klammer nicht vorhanden)

10 = Die Datenbanktabelle zu einem gewählten Feld in der Formel ist nicht verfügbar.
11 = Ein in der Formel vorkommendes Feld ist ungültig (Code nicht unterstützt oder Feldnummer <= 0)
12 = Ein in der Formel vorkommendes Feld hat keinen numerischen Feldtyp.

Beispiel:

Margenberechnung / Totalisierung der Margenberechnung

In diesem Kapitel behandeln wir zwei verschiedene Berechnungsformeln für die Marge in Prozent, jeweils für die Datensektion und die totalisierende Fusssektion.

Bitte beachten Sie, dass in Subtotalsektionen keine Margenberechnungen erfolgen können. Eine Formel in einer Subtotalsektion beginnt grundsätzlich mit TOT, kann also nur zur Totalisierung eingesetzt werden.

Die angegebenen Felder sind Beispielfelder. Entsprechend der jeweiligen Liste sind die dort vorhandenen Felder / Datenbankfelder einzusetzen.

Margenberechnung aus Umsatz und Marge in Währung
Umsatz und Marge (in Währung) sind bekannt. Bitte beachten Sie die Schreibweise der Formel in der Fusssektion. Die Datensektion muss natürlich nur einmal beschrieben werden.

Tool list01 Abbildung 1

Aus der Formelkonstruktion in Abbildung 1 ergibt sich folgender Output (Formelbreite für die Darstellung entsprechend korrigiert):

Tool list02 Abbildung 2

Margenberechnung aus Umsatz und Einstand
Umsatz und Einstand (in Währung) sind bekannt. Bitte beachten Sie die Schreibweise der Formel in der Fusssektion. Die Datensektion muss natürlich nur einmal beschrieben werden.

Tool list03 Abbildung 3

Aus der Formelkonstruktion in Abbildung 3 ergibt sich folgender Output (Formelbreite für die Darstellung entsprechend korrigiert):

Tool list04 Abildung 4

Der Report Editor