Funktionen führen auf der Basis von Eingabewerten – auch Parameter, Funktionsparameter oder Argumente genannt – bestimmte Berechnungen durch und liefern ein Ergebnis ab. Die zugrunde gelegte Rechenvorschrift ist für den Anwender nicht sichtbar. Die Hauptsache ist ein korrektes Ergebnis.
Die Syntax einer Funktion legt die Anzahl der Parameter und den jeweiligen Parametertyp fest. Funktionsparameter können Konstanten, Feldverweise, Ausdrücke oder auch andere Funktionen sein. Die Argumente sind von Klammern umschlossen und folgen unmittelbar auf den Funktionsnamen. Mehrere Parameter müssen durch Kommata voneinander getrennt sein.
Im einfachsten Fall verfügt eine Funktion über einen einzigen Parameter. So ermittelt beispielsweise
Abs (Zahl)
den Absolutwert einer Zahl. Die Funktion
replace (Text, Suchtext, Ersatztext)
ersetzt in einem Text eine Zeichenkette durch eine andere. Die Anzahl der Parameter ist bei einigen Funktionen variabel. So müssen beim Aufruf von datetime mindestens die Parameter Jahr, Monat und Tag angegeben sein.
datetime (Jahr, Monat, Tag)
Die Angabe von Stunde bis Millisekunde ist optional. Entscheiden ist beim Aufruf nicht der Name eines Parameters, sondern seine Position. Mögliche Aufrufe sind
Auch Funktionsaufrufe sind als Parameter zulässig.
trim (upper (Text) )
Entscheidend für die Einordnung einer Funktion in eine der im Folgenden beschriebenen Funktionskategorie ist der Typ des Resultats einer Funktion, nicht der Typ bzw. die Typen ihrer Parameter. So liefert beispielsweise
age(Geburtsdatum)
einen Zahlenwert und ist deshalb in die Kategorie Zahlenfunktionen und nicht in Datumsfunktionen eingeordnet.
Mathematische Funktionen
Diese finden bei Berechnungen mit numerischen Feldwerten Verwendung. Viele benötigen lediglich ein oder zwei Argumente, die selbst wieder Zahlen sind. Das Ergebnis ist ebenfalls wieder wieder ein Zahlenwert.
Name
Ergebnis
Beispiel
abs(x)
Absolutwert von x.
abs(-5) = abs(5) = 5
acos(x)
Arcus cosinus von x (x in Radiant).
asin(x)
Arcus sinus of x (x in Radiant).
atan(x)
Arcus tangens von x (x in Radiant) .
atan2(x)
Quadrat des Arcus tangens von x (x in Radiant).
ceil(x)
Rundet eine Zahl auf die nächste größere Ganzzahl.
cos(x)
Cosinus von x (x in Radiant) .
floor(x)
Rundet eine Zahl auf die nächste kleinere Ganzzahl.
exp(x)
10 hoch x (10x) .
ln(x)
Natürlicher Logarithmus von x.
log(x)
– Logarithmus von x zur Basis 10.
log(x, y)
– Logarithmus von x zur Basis y.
pow(x, y)
x hoch y (xy) .
random()
Eine Zufallszahl im Wertebereich 0 (inklusive) bis 1 (exklusive).
round(x)
Rundet eine Zahl zur nächsten Ganzzahl.
round(x, Stellen)
Rundet eine Zahl vorgegebener Anzahl von Stellen.
round(1.234, 2) = 1.23
sign(x)
Vorzeichen von x.
sign(-2.5) => -1
sign(2.5) => 1
sign(0) => 1
sin(x)
Sinus von x (x in Radiant) .
sqr(x)
Quadrat von x (x2) .
sqrt(x)
Wurzel von x.
Zahlenfunktionen
dienen zum Extrahieren von numerischen Einzelinformationen aus zusammengesetzten Informationen.
Name
Ergebnis
Beispiel / Anmerkung
age(Geburtsdatum)
Aktuelles Alter einer Person.
day(Datum)
Tageszahl des Datumswertes Datum.
day (Termin)
Tageszahl des Startdatums von Termin.
day(Zeitstempel)
Tag von Zeitstempel.
days(Beginn, Ende)
Anzahl der Tage zwischen zwei Datumswerten.
duration(Termin)
Dauer eines Termins in Millisekunden.
month(Datum)
Monatszahl des Datumswertes Datum.
month(Termin)
Monatszahl des Startdatums von Termin.
month(Zeitstempel)
Monat von Zeitstempel.
monthIndex(Monatsname)
Monatszahl von Monatsname.
monthIndex (“Januar”) => 1
week(Datum) week(Termin) week(Zeitstempel)"
Kalenderwoche von Datum, Termin oder Zeitstempel.
weekday(Datum)
Wochentag des Datumswertes Datum.
0 – Sonntag, 6 – Samstag.
weekday(Termin)
Wochentag des Startdatums von Termin.
0 – Sonntag, 6 – Samstag.
weekday(Zeitstempel)
Wochentag von Zeitstempel.
weekdayIndex(Wochentagname)
Wochentagszahl von Wochentagname.
Sonntag - 0, Samstag - 6
workdays(Beginn, Ende)
Anzahl der Arbeitstage zwischen zwei Datumswerten.
Als Arbeitstage gelten Montag bis Freitag. Feier- und Ferientage sind nichtberücksichtigt.
year(Datum)
Jahr des Datumswertes Datum.
year(Termin)
Jahr des Startdatums von Termin.
year(Zeitstempel)
Jahr von Zeitstempel.
Textfunktionen
Textfunktionen dienen zur Analyse und Manipulation von Zeichenfolgen. Sie ermöglichen das Verbinden, Umstellen, Extrahieren, Einfügen oder Löschen von Texten oder Textbereichen.
Name
Ergebnis
Beispiel / Anmerkung
contains(Text, Suchtext)
Exakte Überprüfung, ob Suchtext in Text enthalten ist.
Ermittelt die Startposition von Suchtext innerhalb von Text.(Position beginnt bei 0!)
index ("Hallo Welt!", "Welt ")
=> 6 index ("Hallo Welt!", "welt ")
=> -1 (nicht gefunden)"
length(Text)
Anzahl der in Text enthaltenen Zeichen.
lower(Text)
Konvertiert die Buchstaben von Text in Kleinbuchstaben .
lpad(Text, Anzahl, Zeichen)
Hat Text weniger Zeichen als mit Anzahl vorgegeben, wird er am Anfang mit Zeichenaufgefüllt.
lpad (Hallo, 10, “*“) => *****Hallo
monthName(Monatszahl)
Monatsname von Monatszahl.
monthName (1) => Januar
raw(Wert)
Interne Repräsentation von Wert als Text.
replace(Text, Suchtext, Ersatztext)
Ersetzt in Text jedes Vorkommen von Suchtext durch Ersatztext.
replace("Hallo Welt", "l", "*") => "Ha**o We*t"
replacex(Text, Muster, Flags, Ersatztext)
Ersetzt in Text jedes Vorkommen von Muster durch Ersatztext. Muster ist dabei ein Regulärer Ausdruck. Flags ist ebenfalls eine Zeichenkette. Sie spezifiziert die Art der Mustererkennung.
Dieser Funktionsaufruf ist kompatibel mit JavaScript’s
string.replace(newRegExp(pattern, flags), replace)
rpad(Text, Anzahl, Zeichen)
Hat Text weniger Zeichen als mit Anzahl vorgegeben, wird er am Ende mit Zeichenaufgefüllt.
lpad (Hallo, 10, “*“) => Hallo*****
substring(Text, Anfang, Ende)
Extrahiert den Teil von Textzwischen den Positionen Anfang und Ende
(Position beginnt bei 0!)
Zeitstempel zu vorgegebenen Werten von Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde
endof(Termin)
Zeitstempel des Endes von Termin.
now()
Aktueller Zeitstempel.
start(Termin)
Zeitstempel des Beginns von Termin.
Formatierungsfunktionen
Name
Ergebnis
format(Datum, Formatierung)
Wandelt einen Datumswert gemäß einer Formatierungsvorschrift in einen Text um.
format(Termin, Formatierung)
Wandelt einen Termin gemäß einer Formatierungsvorschrift in einen Text um.
format(Zeitstempel, Formatierung)
Wandelt einen Zeitstempel gemäß einer Formatierungsvorschrift in einen Text um.
Eine Formatierungsvorschrift ist eine Zeichenkette, die sich aus den in der folgenden Tabelle aufgeführten Symbolen zusammensetzen kann. Der 13.07.2018 01:02:03 dient dabei als Beispieldatum.
Symbol
Beschreibung
Beispiel
a
am or pm
am
dd
Kürzel Wochentagsname.
Sam
ddd
Kürzel Wochentagsname.
Sam.
dddd
Wochentagsname.
Samstag
D
one digit day
9
DD
two digit day
9
Do
day ordinal
9th
h
one digit hour (12 hours)
1
hh
two digit hour (12 hours)
1
H
one digit hour (24 hours)
9
HH
two digit hour (24 hours)
13
m
one digit minute
2
mm
two digit minute
2
M
one or two digit month
8
MM
two digit month
8
MMM
abbreviated month name
Aug
MMMM
full month name
August
s
one digit second
3
ss
two digit second
3
YY
two digit year
15
Farbfunktionen
Farbfunktionen erzeugen Farbe aus entsprechenden Angaben.
Name
Ergebnis
Beispiel / Anmerkung
color(Auswahl)
Farbwert eines Auswahlfelds
color(Rot, Grün, Blau)
Farbwert aus den Komponenten Rot, Grün und Blau.
Rot, Grün und Blau sind Zahlen zwischen 0 und 255.
color(Rot, Grün, Blau, Alpha)
Farbwert aus den Komponenten Rot, Grün, Blau und Alpha.
Rot, Grün und Blau sind Zahlen zwischen 0 und 255, Alpha eine Zahl zwischen 0 und 1.
color(Text)
Farbwert von Text. Als Text. akzeptiert diese Funktion jede gültige Angabe gemäß der HTML/CSS Farbspezifikationen.
color ("red")
color ("#f00")
color ("ff0000")
color ("rgb(255,0,0)
Iconfunktionen
Farbfunktionen erzeugen Icons entsprechend angegebenen Name oder Auswahl.
Name
Ergebnis
Beispiel / Anmerkung
icon(Name)
Icon entsprechend Name.
icon("warn")
icon(Auswahl)
Icon entsprechend Auswahl.
Ortsfunktionen
Farbfunktionen extrahieren Längen- und Breitengrad aus einer Ortsangabe oder erzeugen eine solche.
Name
Ergebnis
latitude(Ortsangabe)
Breitengrad von Ortsangabe.
location(Titel, Breitengrad, Längengrad)
Ortsangabe mit vorgegebenem Titel (Text), Breitengrad (Zahl) und Längengrad (Zahl).
longitude(Ortsangabe)
Längengrad von Ortsangabe.
Typkonvertierungen
Funktionen zum Konvertieren von Feldinhalten wandeln einen Inhaltstyp in einen anderen um.
Name
Ergebnis
Beispiel / Anmerkung
number(Wert)
Interpretation von Wert als Zahl.
number ("10") => 10
number (5) => 5
Die interne ID einer Auswahl bei Auswahlfeldern.
number (text (Auswahl) ) ermittelt den Zahlenwert.
Vergangene Millisekunden zwischen dem 01.01.1970 00:00 und Wert bei Datums-, Zeit- oder Zeitstempelfeldern.
number (now() ) => 1440681777046
Beginn eines Termins bei Terminfeldern
text(Wert)
Text entsprechend den Formatoptionen von Wert. Im Falle leere Felder ist das Resultat eine leere Zeichenkette ("").
text ("Hallo") => "Hallo"
text (2.34) => "2.34"
text (Rechnungssumme) => "1,234.56 €"
text (today () ) => "13/07/2018"