CIB format technischer Leitfaden (DE)

3. CIB format/output als "Dokumentformatierer"

3.5. Berechnungsfunktionen

CIB format/output bietet auch Möglichkeiten zur Berechnung bestimmter mathematischer Funktionen. 

Optionsname

Optionswert

Datentyp

ABS()

(ab CIB format Version 7.5.2)

Berechnet den absoluten Wert innerhalb der Klammern.

Beispiele:

ABS (5)  = 5

ABS (-5) = 5

int

AND() oder &&

(ab CIB format Version 7.5.2)

Bestimmt, ob alle Argumente innerhalb der Klammern Wahr sind.

Mögliche Werte:

„0“       Es ist mindestens eines der Argumente nicht    Wahr.

„1“       Es sind alle Bedingungen des Arguments   Wahr.

Beispiele:

AND (1;0) = 0              (1&&0) = 0

AND (1;1) = 1              (1&&1) = 1

boolean

AVERAGE()

(ab CIB format Version 7.2.1)

Ermittelt den Mittelwert aus zwei oder mehreren Zahlen.

Beispiel:

AVERAGE (3;5;7) = 5 

int

COMPARE() oder <>

(ab CIB format Version 7.5.2)

Vergleicht zwei oder mehr Werte miteinander.

Mögliche Werte:

„0“       Es sind nicht alle Werte der Funktion gleich.

„1“       Alle Werte der Funktion sind gleich.

Beispiele:

COMPARE (2;3) = 0      (2<>3) = 0      

COMPARE (2;2) = 1      (2<>2) = 1 

boolean

COUNT()

(ab CIB format Version 7.5.2)

Ermittelt die Anzahl von Argumenten innerhalb der Klammern.

Beispiel:

COUNT (2;3;4) = 3

COUNT (2) =1 

int

DEFINED()

(ab CIB format Version 7.5.2)

Überprüft, ob das Argument innerhalb der Klammern definiert ist.

Mögliche Werte:

„0“       Argument ist nicht definiert oder ergibt eine Fehlermeldung.

„1“       Argument ist definiert und ergibt keine Fehlermeldung.

boolean

FALSE()

(ab CIB format Version 7.5.2)

Nimmt keine Argumente. Es erzeugt immer den Wert „0“

Beispiel:

FALSE() = 0

boolean

IF()

(ab CIB format Version 7.5.2)

Uberprüft das erste Argument. Wenn das Argument Wahr ist, gibt die Funktion das zweite Argument aus. Wenn das Argument Falsch ist, dann gibt die Funktion das dritte Argument aus.

Beispiel:

IF(10>=9;15;20) = 10

IF(8>=9;15;20) = 20

int

INT()

(ab CIB format Version 7.5.2)

Rundet den Wert innerhalb der Klammern auf eine runde Zahl runter.

Beispiel:

INT(4,98) = 4

int

MAX()

(ab CIB format Version 7.2.1)

Vergleicht zwei oder mehrere Zahlen und ermittelt den höchsten Wert.

Beispiel:

MAX (1;3;9) = 9

int

MIN()

(ab CIB format Version 7.2.1)

Vergleicht zwei oder mehrere Zahlen und ermittelt den niedrigsten Wert.

Beispiel:

MIN (1;3;9) = 1 

int

MOD()

(ab CIB format Version 7.5.2)

Diese Funktion nimmt zwei Argumente und gibt den Rest an, nachdem das zweite Argument durch das erste geteilt wurde. Falls der Rest „0“ sein sollte, gibt die Funktion „0.0“ zurück.

Beispiele:

MOD (12;5) = 2

MOD (15;5) = 0 

int

NOT() oder !

(ab CIB format Version 7.5.2)

Diese Funktion überprüft ob ein Argument Wahr ist und kehrt dessen Wert um.

Mögliche Werte:

„0“       Das Argument ist Wahr.

„1“       Das Argument ist Falsch.

Beispiele:

NOT(1=1) = 0              !(1=1) = 0

NOT(1=2) = 1              !(1=2) = 1 

int

OR () oder ||

(ab CIB format Version 7.5.2)

Bestimmt, ob eine von mehreren Bedingungen erfüllt wird.

Mögliche Werte:

„0“       Es sind keine Bedingungen erfüllt.

„1“       Mindestens eine Bedingung wird erfüllt.

Beispiele:

OR (0;0) = 0                             (0 || 0) = 0

OR (1;0) = 1                             (0 || 1) = 1        

boolean

PRODUCT()

(ab CIB format Version 7.2.1)

Multipliziert die übergebenen Zahlenwerte.

Beispiel:

PRODUCT (2;3)=6 

int

ROUND()

(ab CIB format Version 7.5.2)

 

Diese Funktion nimmt zwei Argumente. Es rundet die erste Zahl zur nächsten ganzen Zahl auf oder ab. Die Nachkommastellen werden mit dem zweiten Argument angegeben.

Beispiele:

ROUND (3,456;2) = 3,46

ROUND (3,456;0) = 3 

int

SIGN()

(ab CIB format Version 7.5.2)

 

Diese Funktion überprüft, ob der Wert innerhalb der Klammern grösser, gleich oder kleiner als null ist.

Mögliche Werte:

„-1“      Der Wert ist kleiner als Null.

 „0“      Der Wert ist gleich Null.

 „1“      Der Wert ist grösser als Null.

Beispiel:

SIGN (-2) = -1

SIGN (0) = 0

SIGN ( 5) = 1 

 

SUM()

(ab CIB format Version 7.2.1)

Addiert die Werte von zwei oder mehreren Datenfeldern.

Beispiel:

SUM (2;3) = 5 

int

TRUE()

(ab CIB format Version 7.5.2)

Diese Funktion nimmt ein Argument und ermittelt ob es Wahr ist. Wenn es kein Argument hat, gibt es immer den Wert „1“ aus.

Mögliche Werte:

„0“       Argument ist nicht Wahr.

„1“       Argument ist Wahr.

Beispiel:

TRUE() = 1

TRUE(1=1) = 1

TRUE(1=2) = 0

int

%

(ab CIB format Version 7.5.2)

Ermittelt den Prozentsatz aus einer Zahl.

Beispiele:

5% = 0,05

75%= 0,75

float

^

(ab CIB format Version 7.5.2)

Exponentiation. Operation die eine Menge an die Potenz einer anderen hebt.

Beispiel:

(3^3)=9

int

HtmlSuppressEvalError

(ab CIB format Version 7.7.2)

Diese Property sorgt dafür, dass das Ergebnis der Evaluation bei Fehlern nicht ausgegeben wird und somit keine Ausgabe von Errors bei Berechnungsfunktionen erfolgt. Es wird ein Leerstring ausgegeben. Defaultwert = 0.

boolean

 

Zusätzlich werden in den Berechnungsfunktionen diese Feldbefehle zur Verfügung gestellt: 

LEFT / LINKS | RIGHT / RECHTS | ABOVE / ÜBER | BELOW / UNTER

Hinweise:

    • Bei der Verwendung der Feldbefehle LEFT, RIGHT, ABOVE, BELOW innerhalb einer Tabelle ist darauf zu achten, dass die Tabelle eine saubere Struktur bzgl. Zeilen und Spalten hat. Der Einsatz von verbundenen Tabellenzellen (horizontal oder vertikal) ist zu vermeiden, da die Zugehörigkeit zur Zeile oder Spalte für den Anwender nicht eindeutig erkennbar ist.
    • Bei der Verwendung der Feldbefehle LEFT, RIGHT, ABOVE, BELOW sind Rekursionen zu vermeiden (z.B. LEFT stützt sich auf eine links stehende Zelle mit RIGHT).
    • Die direkte Referenz auf eine andere Tabellenzelle mittel Buchstabe/Zahl-Kombination (z.B. C4) wird nicht unterstützt. Tabellen in einer Textverarbeitung haben keine feste Struktur (wie in einer Tabellenkalkulation), auch die Bezeichnungen für Zeile/Spalte sind nicht angegeben.
    • Der Anwender könnte eine Zelle (z.B. H14) nur über das manuelle Abzählen finden. Besser ist eine direkte erkennbare Formatierung über Feldvariablen und Feldfunktionen.
    • Alle zuvor erwähnten Berechnungsfunktionen können verschachtelt werden.
    • Zurzeit werden diese Funktionen nur im Deutschsprachigen Locale unterstützt.
      • Wird eine andere Sprache genutzt (z.B. Englisch), kommt eine Syntaxfehlermeldung.