Inhaltsverzeichnis
- 1 Allgemeines zu Rechenfunktionen und Formeln
- 2 Ansprechen von Feldern und Feldinhalten (Referenzierung)
- 3 Gundrechenarten und weitere »normale« Berechnungen
- 4 Trigonometrie
- 5 Besondere Zahlenwerte
- 6 Datentypen für Tabellenfelder und Datenbankfelder
- 7 Text-/Zeichenketten-Operationen (String-Operationen)
- 8 Währungs-Umrechnungen
- 9 Suchabfragen und bedingte Berechnungen (IF / THEN)
- 10 Teilwerte und Eigenschaften von Zahlen
- 11 Statistik und Wahrscheinlichkeitsrechnung
- 12 Zeit- und Datumsformat-Operationen
- 13 Auswertungsfunktionen für tabellarische Datenbank-Reports
- 14 Rechner- und Anwender-Daten sowie Textstatistik
- 15 Kontaktdaten für Ihr Text-Dokument
- 16 Formatierungen und Befehle für Datenbank-Reports
- 17 Variablen-Namen für den E-Mail-Versand in Datenbank-Reports
Allgemeines zu Rechenfunktionen und Formeln
Die hier beschriebenen Rechenfunktionen sind im »Rechenfeld« Dialog der Tabellenkalkulation im »Grafik« menü → »Rechenfeld...« erreichbar. Berechnungen sind entsprechend gekennzeichnet: Tabellenfelder tragen auf dem Bildschirm einen kleinen Winkel in der linken oberen Ecke. Datenbankfelder mit berechneten Inhalten werden grün dargestellt.
Außerdem können die Berechnungen im Datenbankteil »Papyrus Base«…
- im »Feldeigenschaften« Dialog auf der Seite »Rechenfeld«
- im Datenfeld-Dialog für Datenbank-Reports und
- im Dialog für Globales Suchen und Ersetzen in Datenbank-Tabellen
genutzt werden.
Es sind verschiedene Synonyme in die Formeln einsetzbar.
In Papyrus Word Tabellen kann auch statt einer Beispiel-Referenz »A1« jede andere Referenz auf ein Tabellenfeld stehen (z.B. »C4«). Das gilt auch für eine namentliche Feldreferenz (z.B. »[FELDLABEL]«) auch von Feldern anderer Tabellen oder eine simple Zahl. In der Datenbank kann es auch der Name eines Datenbank-Feldes oder einer Variablen sein.
Die Vorgänge zu in Papyrus möglichen Rechenfunktionen sind hier wie folgt weiter beschrieben:
- 1.1 Der Formelinterpreter (funktionierende Schreibweisen)
- 1.2 Error: Reference source not found
- 1.4
- 1.5 Error: Reference source not found
Dann folgen die Übersichts-Tabellen aller Rechenfunktionen in Papyrus:
- Ansprechen von Feldern und Feldinhalten (Referenzierung)
- Trigonometrie
- Grundrechenarten und weitere »normale« Berechnungen
- Besondere Zahlenwerte
- Text-Zeichenketten-Operationen (String-Op.)
- Datentypen für Tabellenfelder und Datenbankfelder
- Währungs-Umrechnungen (europäische Alt-Währungen vom und zum EURO)
- Suchabfragen und bedingte Berechnungen (IF/THEN)
- Teilwerte und Eigenschaften von Zahlen
- Statistik und Wahrscheinlichkeitsrechnung
- Datums- und Zeitformate
- Auswertungsfunktionen für tabellarische Datenbank-Reports
Der Formelinterpreter (funktionierende Schreibweisen)
In der Suchzeile in Datenbank-Tabellenfenstern wird folgende Syntax akzeptiert:
- Strings (Textzeichenketten) können »einfach so« dastehen. Sie müssen in einfache oder doppelte Anführungszeichen gesetzt werden, wenn Uneindeutigkeiten wie Leerzeichen oder Schlüsselwörter im Suchbegriff enthalten sein sollen.
- <Feldname> <Vergleichsoperator> <Wert>
- <Feldname> <Vergleichsoperator> <Feldname>
- AND (Synonym einfach ein Leerzeichen), OR, XOR, NOT (und Synonyme)
- Klammern
An allen anderen Stellen, wo Formeln vorkommen (also in Reports, im »Rechenfeld« der Datenbank-Feldeigenschaften sowie im »Rechenfeld«-Dialog für Papyrus Word Tabellen), muss die striktere Syntax eingehalten werden, Textzeichenketten müssen immer in Anführungszeichen stehen.
Funktionsnamen und Operatoren haben Vorrang vor Feld- und Relationsnamen, aber Letztere gehen vor alternativen Synonymen von Funktionsnamen/Operatoren. Man kann also auf ein Feld »Str« nicht zugreifen (weil dies ein Formel-Befehl zur Umwandlung einer Zahl in eine Zeichenkette ist), wohl aber auf ein Feld »unicode« (Synonym für den Befehl ASCII).
Wenn man nach dem Editieren einer Formel den Dialog erneut aufruft, wird die Formel in der sogenannten »kanonischen Syntax« ggf. leicht verändert dargestellt, die wie folgt aussieht:
- Alle Funktionsnamen werden ggf. automatisch gegen den Hauptbegriff ausgewechselt
- Feldnamen in Originalschreibweise
- Strings in einfachen Anführungszeichen (SQL-Standard)
Beim Ändern der Formel für ein Rechenfeld wird die Vorschau jedes Mal aktualisiert, wenn die aktuelle Eingabe eine syntaktisch korrekte Formel ergibt.
Formeln können auch mit Kommentaren versehen werden.
Schreiben Sie hierzu einfach hinter die Zeile Ihren Erklärungstext, abgegrenzt mit »//«:
Oder aber Kommentare über mehrere Zeilen, eingerahmt von »/*« und »*/«:
Fehlerbehandlung in Formeln
In der Datenbank wird eine sofortige Analyse der Syntax durchgeführt, sobald ein Rechenbefehl in den Dialog »Rechenfeld« von »Feldeigenschaften« eingetragen wird (Menü »Datenbank«). Die Rechenanweisung wird ebenso in der Liste der Felder dargestellt.
So erhält man einen ersten Hinweis darauf, ob Papyrus die Eingabe akzeptiert hat und interpretieren kann.
In der Papyrus Tabellenkalkulation werden Fehler (z.B. eine Division durch Null) als ***Fehler*** dargestellt.
Ungültige Datentypen (z.B. String nicht in Zahl konvertierbar) werden mit ***Ungültig*** markiert.
Zyklische Feldreferenzen (wenn bspw. in einer Formel, die in einem Feld C4 Bezug auf eben dieses Feld C4 genommen wird, was nicht geht) sind natürlich illegal, führen aber nicht zu einer Endlosschleife, sondern zu ***Fehler***. Allerdings kann so etwas wie »Feld := Feld + Feld« sehr lange rechnen (siehe Datumsgrenze).
Umwandlung anderer Datentypen in Strings
Die folgenden Umwandlungen gelten für die Wandlung von Daten in einen String (»String« bezeichnet eine Textzeichen-Kette, bspw. »abc«) durch implizite Typkonvertierung bei »Feldeigenschaften« oder mit VAL (steht für engl. »value«, Wert).
Bei Umwandlung einer Zahl in einen String wird wie allgemein üblich (beispielsweise in SQL) das Punkt-Format verwendet, z.B. 1234.56, immer ohne führende und anhängende Nullen.
Wenn eine Zahl < -1012 oder > 1012 oder als kleiner Bruch -10-6 < Zahl < 10-6 ist, wird eine Exponentendarstellung im e-Format (3456 => 3,456 x 103 => 3.456e3) benutzt.
Bei einer Umwandlung aus einem String kann Punkt-Format oder e-Format benutzt werden, aber immer mit Dezimalpunkt und ohne Tausendertrenner.
Datum und Uhrzeit und Umwandlung von/nach Strings:
Bei Umwandlung in einen String werden Termin-Daten als JJJJMMTT dargestellt, Zeiten als HH:MM[:SS[.FFF]], d.h. Sekunden und Millisekunden werden nur ausgegeben, falls sie nicht Null sind. Andere Darstellungs-Optionen kann man durch die Addition von Teil-Strings erreichen, die man durch String-Operationen wie »LEFT« etc. erhält.
Datum+Zeit wird als <Datum>T<Zeit> ausgegeben.
Bei Umwandlung aus einem String kann außer obigem Format auch »JJJJ-MM-TT« (SQL-Standardformat) oder »TT.MM.JJJJ« (Papyrus-eigen) benutzt werden. Hier sind führende Nullen nicht nötig, und zweistelliges Jahr wird unter 50 auf 20JJ, ab 50 auf 19JJ ergänzt.
Man macht also Datumsvergleiche z.B. so:
Datum > ’17.11.99’
Relationen in Rechenformeln der Datenbank
Zum Anlegen von Relationen geht man über die Dialogseite »Relationen« aus dem »Feldeigenschaften« Dialog. Man kann Relationen aber auch in die Rechenfeld-Dialogseite eintragen.
Zur Manipulierbarkeit – z.B. dem weiteren Verrechnen relational »geholter« Werte – erscheint eine Relation automatisch auch im »Rechenfeld«-Dialog. Das Ergebnis der Relation kann hier für weitere Rechnungen gebraucht und weiter verrechnet werden.
Relationale Referenzen werden »Relationsname« → »Primärfeldname« geschrieben, also z.B. »Adresse→Firma«.
Die Namen der Relationen haben eine von den Feldnamen getrennte Verwaltung und können daher mit Feldnamen übereinstimmen. Achten Sie darauf, dass Sie dabei nicht durcheinanderkommen.
Ansprechen von Feldern und Feldinhalten (Referenzierung) |
|
C4 | Papyrus Word Tabelle: Ansprechen einer Zelle zum Rechnen oder Inhalt übernehmen. Hier z.B. Wert aus Feld Zeile 4, Spalte 3 (C) |
A3..C5 | Papyrus Word Tabelle: Zellbereich, der alle Zellen im Rechteck von »A3« links oben bis (= Operator »..«) »C5« rechts unten beinhaltet. |
[FELDLABEL] | pap. Word Tabelle: absolute Tabellenfeld-Referenz über Feldnamen (vergeben im »Tabellenfeld«- oder auch im »Rechenfeld«-Dialog)
Die eckigen Klammern sind fakultativ, nur notwendig, wenn das referenzierte Feldlabel noch nicht angelegt wurde |
Datenbankfeldname | pap. Base: Werte-Inhalt eines definierten Feldes dieses Datensatzes dieser Tabelle |
Relation→Feldname | pap. Base: Über eine vorhandene Relation verknüpftes Feld eines Datensatzes einer anderen (oder auch der gleichen) Tabelle |
[C:\HOLMICH.PAP#
FELDLABEL] |
Absolute Feldreferenz von benanntem Feld »FELDLABEL« aus der Datei »C:\HOLMICH.PAP« |
COLUMN / SPALTE | Nummer der Spalte, in der sich die Rechenformel befindet (nur in Papyrus Word Tabellen) |
LINE / ZEILE | Nummer der Zeile, in der sich die Formel befindet (nur in Papyrus Word Tabellen) |
/* mehrzeiliger Kommentar */ | Alles zwischen dem den Kommentar einleitenden »/*« und dem den Kommentar abschließenden »*/« (inkl.) wird nicht interpretiert und kann beliebigen Text enthalten
/* … … */ |
Inhalt // Kommentar | In dieser Zeile wird alles rechts vom »//« (inkl.) wird nicht interpretiert |
Gundrechenarten und weitere »normale« Berechnungen |
|
+ – * / | Grundrechenarten: Addition, Subtraktion, Multiplikation; Division; Formel z.B. »A1+B1«; »A3*1,16« |
( ) | Klammerung von zuerst zu berechnenden Funktionen; z.B. »A1(B2+3)« |
A1^3 | Potenz, z.B. »A1^3« ist die dritte Potenz vom Wert von Feld »A1« |
SQRT(A1)
WURZEL(A1) ROOT(A1) RACINE(A1) |
Quadratwurzel, hier z.B. vom Wert von Feld »A1« |
LOG(A1)
LOGARITHMUS(A1) LOGARITHME(A1) |
Natürlicher Logarithmus von Feld »A1« (zur Basis »e«) |
LOG10(A1)
LOGTEN(A1) |
Logarithmus von Feld »A« zur Basis 10 |
EXP(A1) | Potenz »A1« zur Basis E, synonym zu »E^A1« |
FAC(A1)
FAK(A1) FAKULTÄT(A1) FACULTY(A1) FACULTE(A1) |
Fakultät von Feld »A1« = A1! = A1 * (A1-1) * (A1-2) * … * 1; bei A1=5 also 5*4*3*2*1=120 |
MOD(),
x MOD y |
Modulo-Wert (lt. Mathematik, wichtig z.B. für Verkryptung) |
LET var = … | Datenbank: Weist der Variablen »var« einen bestimmten Wert zu |
Trigonometrie |
|
SIN(A1) / SINUS (A1)
COS(A1) / COSINUS(A1) TAN(A1) / TANGENS(A1) |
Sinus / Cosinus / Tangens von Feld A1 |
ASIN(A1) ACOS(A1) ATAN(A1) | Arcsinus / Arccosinus / Arctangens von Feld A1 |
SINH(A1) COSH(A1) TANH(A1) | Sinus hyperbolicus (Cosinus hyp. / Tangens hyp.) von Feld A1 |
Besondere Zahlenwerte |
|
PI | Die Zahl griechisch »Pi« auf mind. 16 Stellen genau |
E | Die Zahl »e« als Basiszahl des natürlichen Logarithmus auf mind. 16 Stellen genau |
COLUMN
SPALTE |
Nummer der Spalte, in der sich die Rechenformel befindet (nur Papyrus Word Tabellen) |
LINE ROW
ZEILE |
Nummer der Zeile, in der sich die Formel befindet (nur Papyrus Word Tabellen) |
ERROR
FEHLER |
Schreibt in roter Schrift den Wert »Fehler« in das Feld |
MISSING
LEER |
Das Feld ist leer (was logisch ein Unterschied zum Wert »0« ist; außerdem wird im Feld nichts dargestellt). |
COPY
KOPIE |
Aktuelle Serienbrief-Nummer bei Generierung eines Serienbrief-Dokuments (funktioniert NICHT bei sofortigem Ausdruck eines Serienbriefs) |
variable | In Papyrus Base im Menü »Datenbank« bei »Eigenschaften« können Papyrus-globale Variablen definiert werden, die in allen Berechnungen genutzt werden können |
Datentypen für Tabellenfelder und Datenbankfelder |
|
Der Datentyp eines Rechenergebnisses ergibt sich meist aus dem Datenfeld der Formel.
Bei Rechnungen mit zwei Operanden geht der Typ eines Felds vor dem Typ eines Literals (eines festen vorgegebenen Werts) (Feld geht vor Festwert, Regel 1). Sind beide Operanden Datenfelder, richtet sich das Ergebnis und sein Datentyp nach dem Datentyp des linken Operanden (Regel 2): <Zahlenfeld> + »1« } »1« + <Zahlenfeld> } => 1 + <Zahlenfeld>, alles folgt Regel 1 <Zahlenfeld> + 1 } <Zahlenfeld> + <Stringfeld> => Zahlenaddition (Regel 2) hier ergibt also die umgedrehte Reihenfolge der Datentypen eine Textzeichenkette: <Stringfeld> + <Zahlenfeld> => Stringaddition Wenn man im letzten Fall keine String-, sondern eine Zahlenaddition erzwingen will, muss man schreiben (»VAL« wandelt einen String in eine Zahl, siehe nächstes Kap.): VAL(<Stringfeld>) + Zahlenfeld => Zahlenaddition |
|
String | Textzeichenketten – Feldtypen Standard, Text, Bild |
Fließkommazahl | (»double«) Genauigkeit des Typs »double« unter Windows: double ist ein 64 bit-Format: 1 für Vorzeichen, 11 für den Exponenten und 52 für die Mantisse. Daraus resultiert ein Bereich von +/- 1.7308 mit 15 Stellen. |
Zahl ganzzahlig oder 1-6 Nachkommastellen | (fixpoint integer) Der Bereich hängt von der Anzahl der Nachkommastellen ab: Windows insgesamt 64 bits, also -9.2218 bis +9.2218 / (10 Nachkommastellen) |
Datum /
Uhrzeit / Zeitpunkt / Zeitdauer |
Daten werden vom 1.1.0001 bis in die Ewigkeit als »Julianischer Tag« dargestellt (es werden einfach die Tage ab 1.1.0001 durchgezählt) Schaltjahre werden berücksichtigt. Die unregelmäßigen Kalenderumstellungen (z.B. von Julianisch auf Gregorianisch) werden ignoriert. Uhrzeit wird als Millisekunden dargestellt. Additionen / Differenzen ergeben Tage für Daten oder Sekunden für Uhrzeit bzw. Datum+Uhrzeit). Zeitintervalle werden als [Tage] [HHH:MM[:SS[.ffff]]] dargestellt.Daten können optional mit Wochentag ausgegeben werden. Im »Intelligenten« Format werden für die aktuelle Woche »gestern« / »heute« / »morgen« angezeigt und bis zu 6 Tage zurückliegende Daten nur als Wochentag. Zusätzlich kann man statt eines Datums +<Tage> oder -<Tage> eingeben. |
Wahrheitswerte | z.B. Ergebnisse von Vergleichen, werden als integer 0 (falsch, FALSE) oder 1 (wahr, TRUE) dargestellt. Bei Bedingungen (z.B. IF) wird jeder von 0/NULL/Leerstring verschiedene Wert als »WAHR« angesehen. |
Kommentare | Mit »//« kann man hinter Formeln auch wahlfreien Text als Kommentar in den Formeltext mit aufnehmen. Mit
/* Kommentar …. Kommentar */ sind sogar mehrzeilige Kommentare möglich |
Text-/Zeichenketten-Operationen (String-Operationen) |
|
Der Ausdruck in der Klammer der folgenden Funktionen darf entweder direkt eine Textzeichenkette (ein »String«) oder eine Referenz auf ein Tabellen-/Daten-Feld sein, das einen String enthält
Strings (Textzeichenketten) sind immer Unicode-Strings beliebiger Länge. Literale (direkt eingegebene feste Werte) kommen in einfache (ANSI SQL) oder doppelte Anführungszeichen. String-Vergleiche geschehen immer ohne Groß-/Klein-Unterscheidung. Die Vergleichsoperatoren > < etc. sortieren nach der üblichen Duden-Sortierreihenfolge. IdR. orientiert sich die erst genannte Form dieser Funktionen am Datenbank-Standard SQL. Negative oder über 65536 liegende Parameter für Positionsangaben ergeben das Ergebnis FEHLER. |
|
ASCII(str)
UNICODE(str) |
Liefert den ISO-Latin-ASCII- bzw. Unicode-Wert (bei Zeichen über 255) des ersten Zeichens im String. Ergibt 0 für leere Strings |
CHAR(zahl) CHR() | Textzeichen aus ASCII-/Unicode-Wert bilden |
STR(zahl etc.) | Wandelt Zahl/Datum/Uhrzeit in einen String um |
VAL(str) | Wandelt String in Zahl (double byte) um. |
FLOAT(zahl od. str) | Wandelt eine ganze Zahl oder einen String in eine Fließkommazahl um |
CAPITAL(str) | Setzt den ersten Buchstaben des Strings auf groß |
UCASE() UPPER() | Setzt alle Buchstaben des Strings auf Großbuchstaben |
LCASE() LOWER() | Setzt alle Buchstaben des Strings auf Kleinbuchstaben |
LEN(str) LENGTH() | Ergibt die String-Länge in Anzahl Zeichen |
LOCATE(str , search[, start]) INSTR() | Liefert Position in »str«, ab dem »search« vorkommt. Man kann mit »start« vorgeben, ab wo gesucht wird. »0«, wenn nicht gefunden |
SUBSTRING(str, start[, n]) MID() | Liefert n Zeichen ab Position start in str; wenn n fehlt, nur ein Zeichen. Zu große Werte für start/n liefern Leerstring/rechten Teil des Strings. |
CONCAT(str1, str2) | Entspricht str1+str2, ergibt aber zwingend einen String |
LEFT(str, n) | Linke n Zeichen, oder gesamter String falls n > LENGTH(str) |
RIGHT(str, n) | Rechte n Zeichen, oder gesamter String falls n > LENGTH(str) |
REPLACE(str, search, replacestr) | Ersetzt alle Vorkommen von search in str durch replacestr |
TRIM(str) | links und rechts Leerzeichen entfernen |
LTRIM(str) | links Leerzeichen entfernen |
RTRIM(str) | rechts Leerzeichen entfernen |
REPEAT(str, n) | String str n-mal wiederholen |
SPACE(n) | String mit n Leerzeichen |
TAB TAB() | Tabulator-Zeichen, entspricht CHR(7) (für Datenbank-Report) |
CR CR() | Absatzende-Zeichen, entspricht CHR(10) (für Datenbank-Report) |
STR(zahl,vorkomma,nachkomma) | Formatiert »zahl« so, dass es immer »vorkomma« Vorkommastellen enthält (mit Nullen aufgefüllt) und »nachkomma« Nachkommastellen, mit Komma abgesetzt und mit Nullen aufgefüllt
Dient der formatierten Ausgabe von Zahlen in Datenbank-Reports |
Währungs-Umrechnungen |
||
Landeswährung aus Euro | DM(Euro)
DEM(Euro) MARK(Euro) |
Berechnet den DM-Wert aus einem Euro-Wert |
BEF() LUF() | Berechnet Belgische bzw. Luxbrg. Franc aus einem Euro-Wert | |
FRAN() FRF() | Berechnet Französische Franc aus einem Euro-Wert | |
IEP() | Berechnet irische Pfund aus einem Euro-Wert | |
ITL() LIRE() | Berechnet italienische Lire aus einem Euro-Wert | |
NLG() GULD() | Berechnet niederländische Gulden aus einem Euro-Wert | |
ATS() SCHI() | Berechnet österreichische Schilling aus einem Euro-Wert | |
GRD() | Berechnet griechische Drachmen aus einem Euro-Wert. Möglicherweise bald wieder ein aktueller und hochvariabler Wert. | |
ESP() PTS() PESE() | Berechnet spanische Peseten aus einem Euro-Wert | |
PTE() ESCU() | Berechnet portugiesische Escudos aus einem Euro-Wert | |
FIM() | Berechnet finnische Mark aus einem Euro-Wert | |
Euro aus Landeswährung | EUDM() EUDEM() | Berechnet den Euro-Wert aus einem DM-Wert |
EUBEF() EULUF() | Berechnet den Euro-Wert aus Belgischen bzw. Luxemburger Franc | |
EUFRF() EUFF() | Berechnet den Euro-Wert aus Französischen Franc | |
EUIEP() | Berechnet den Euro-Wert aus irischen Pfund | |
EUITL() EULI() | Berechnet den Euro-Wert aus italienischen Lire | |
EUNLG() EUGU() | Berechnet den Euro-Wert aus niederländischen Gulden | |
EUATS() | Berechnet den Euro-Wert aus österreichischen Schilling | |
EUGRD() | Berechnet den Euro-Wert aus griechischen Drachmen
Könnte bei Wiedereinführung der Drachme stark steigen. |
|
EUPTS() EUES() | Berechnet den Euro-Wert aus spanischen Peseten | |
EUPTE() EUES() | Berechnet den Euro-Wert aus portugiesischen Escudos | |
EUFIM() | Berechnet den Euro-Wert aus Finnischen Mark |
Teilwerte und Eigenschaften von Zahlen |
|
ABS(A1) | Absolutwert von Feld »A1«, belässt also positive Zahlen, wie sie sind, währenddessen negative Werte positiv werden |
SIGN(A1)
SGN(A1) |
Vorzeichen von Feld »A1«, bei positiven Zahlen »1«, bei negativen »-1« |
RND(A1) ROUND(A1)
RUNDE(A1) ROND(A1) |
Kaufmännisch auf ganze Zahl gerundeter Wert von Feld »A1« |
TRUNC(A1) / FIX(A1) | Vorkommazahl von Feld »A1«; schneidet bei Dezimalbrüchen die Nachkommastellen ab |
FRAC(A1) | Nachkommazahl von Feld »A1«; lässt bei Dezimalbrüchen die Vorkommastellen unberücksichtigt (ist also immer 0, …) |
FLOOR(A1) / INT(A1) | Nächstkleinere ganze Zahl eines Dezimalbruches. Nur (!) bei positiven Zahlen identisch mit »TRUNC(A1) |
CEIL(A1) CEILING(A1) | Nächstgrößere ganze Zahl eines Dezimalbruches |
Statistik und Wahrscheinlichkeitsrechnung |
||
SUM(A1..E6) / SUMME(A1..E6) | Bildet die Summe aller numerischen Feldinhalte des Bereichs von »A1« bis Feld »E6«, also von insgesamt 30 Feldern | |
NCELLS(A1..E6) | Anzahl Felder (= »Zellen«) im Bereich A1 bis E6 | |
NVALID(A1..E6) | Anzahl Zellen im Feldbereich A1 – E6, die gültige Zahlenwerte tragen | |
NINVALID(A1..E6) | Anzahl Zellen im Bereich A1 bis E6, die KEINE gültige Zahlenwerte tragen | |
NEMPTY(A1..E6) | Anzahl Zellen im Bereich A1 bis E6, die LEER sind (NICHT aber »0«!) | |
MEAN(A1..E6)
MITTEL(A1..E6) |
Statistischer Mittelwert aller gültigen Zahlenwerte im Feldbereich A1 – E6 | |
DEVIATION(A1..E6) STD(A1..E6) | Statistische Standardabweichung aller gültigen Zahlenwerte im Feldbereich A1 – E6 | |
VARIANCE(A1..E6)
VARIANZ(A1..E6) |
Statistische Varianz aller gültigen Zahlenwerte im Feldbereich A1 – E6 | |
MSQUARES(A1..E6) | Statistische mittlere Quadratwurzel aller gültigen Zahlenwerte im Feldbereich A1 – E6 | |
VALID(A1) OK(A1)
GUELTIG(A1) |
Liefert »1«, wenn Feld A1 ein gültiger numerischer Wert ist, sonst »0« | |
INVALID(A1)
UNGUELTIG(A1) |
Liefert »1«, wenn Feld »A1« leer (NICHT »0«!) oder Text ist; sonst »0« | |
MISSING / LEER | Das Feld ist leer (was logisch ein Unterschied zum Wert »0« ist; außerdem wird im Feld nichts dargestellt). | |
Zeit- und Datumsformat-Operationen |
||
CURDATE() DATE
CURRENT_DATE |
Gibt das heutige Datum als Datums-Typ zurück | |
CURTIME() TIME()
CURRENT_TIME() |
Gibt die aktuelle Uhrzeit (Sekunden-genau) als Zeit-Typ zurück | |
SYSDATE()
SYSDATE |
Gibt eine Zeichenkette (kein Datum!) mit dem aktuellen Datum als TT.MM.JJJJ zurück | |
SYSTIME()
SYSTIME |
Gibt eine Zeichenkette (keine Zeit!) mit der aktuellen Uhrzeit als HH:MM:SS zurück | |
NOW() GETDATE()
CURRENT_TIMESTAMP() |
Gibt den aktuellen Zeitpunkt (Sekunden-genau) als Datum+Uhrzeit zurück | |
HOUR(time) STUNDE() | Stunde (0-23) aus Uhrzeit/Zeitpunkt extrahieren | |
MINUTE(time) | Minute (0-59) aus Uhrzeit/Zeitpunkt extrahieren | |
SECOND(time)
SEKUNDE() |
Sekunde (0-59) aus Uhrzeit/Zeitpunkt extrahieren | |
DAYOFMONTH(date)
DAY() TAG() |
Tag (1-31) aus einem Datum/Zeitpunkt extrahieren | |
MONTH(date) MONAT() | Monat (1-12) aus einem Datum/Zeitpunkt extrahieren | |
YEAR(date) JAHR() | Jahr (1-9999) aus einem Datum/Zeitpunkt extrahieren | |
DAYOFWEEK(date)
DOW() WOCHENTAG() |
Wochentag (1-7, 1=Sonntag bis 7=Samstag) eines Datums/Zeitpunkts berechnen | |
DAYOFYEAR(date)
DOY() JAHRESTAG() |
Tag im Jahr berechnen (1-366, der 1.1. ist Tag 1, der 31.12. Tag 366 in Schaltjahren, sonst Tag 365) | |
QUARTER(date)
QUARTAL() |
Quartal berechnen | |
WEEK(date)
WOCHE() |
Woche (1-53) im Jahr berechnen. Der 1.1 gehört immer zu Woche 1, die 2. Woche fängt am ersten Sonntag danach an. | |
MOONPHASE(date)
MONDPHASE() |
Mondphase im Bereich 0-7: 0 Neumond, 1-3 zunehmend, 4 Vollmond, 5-7 abnehmend. Wichtig für Werwölfe. | |
DAYNAME(date)
MONTHNAME(date) CDOW() CMONTH() |
Name des Wochentags bzw. Monats, erzeugt aus Datum oder Zahl (Tage 1-7 bzw. Monate 1-12). In der Datenbank hängt die Sprache von den Einstellungen der Datenbank ab. | |
CTOD(string) | Wandelt eine Zeichenkette in ein Datum. | |
DTOC(date) | Wandelt ein Datum in eine Zeichenkette TT.MM.JJ | |
TOTALMS(time)
TOTALSECONDS() TOTALMINUTES() TOTALHOURS() TOTALDAYS() |
Gibt für ein Zeitintervall bzw. eine Uhrzeit die insgesamt enthaltenen Millisekunden/Sekunden/Minuten/Stunden/Tage zurück, z.B. für Zeitabrechnungen.Es wird immer abgerundet. Für Daten/Zeitpunkte liefert TOTALDAYS() den sog. Julianischen Tag zurück, d.h. die Tage sind ab Tag 1 = 1.1.0001 durchgezählt (ohne Berücksichtigung von historischen Kalenderumstellungen) |
Auswertungsfunktionen für tabellarische Datenbank-Reports |
|
Um in einem Report eine Auswertung über die Daten einzubinden, definieren Sie zwei Bereiche. Im »Datenbereich« erfahren alle Datensätze ihre Ausgabe. Im Kopf oder Abschluss des Reports können Text oder auch Daten nur einmal ausgegeben werden.
Für den »Datenbereich« markieren Sie den Teil Ihres Reports, der die zu wiederholenden Ausgaben enthält, und wählen im Kontextmenü »Datenbereich festlegen«. Die unten genannten Befehle können Sie auch außerhalb des Datenbereiches benutzen. Bspw. definieren mit »SUM(Feldname)« eine Summe über alle Werte, die im Feld »Feldname« ausgegeben wurden. |
|
SUM(Feldname)
SUMME() |
Summe aller Inhalte von »Feldname« über alle reportierten Datensätze. Das Ergebnis ist wie »Feldname« formatiert, nur bei Text wird das Ergebnis eine Fließkommazahl. |
MIN(Feldname) | Kleinster Wert aller reportierten Inhalte von »Feldname«. Leere Felder zählen nicht mit |
MAX(Feldname) | Größter Wert aller reportierten Inhalte von »Feldname« |
COUNT(*) ANZAHL() | Gesamte Anzahl der reportierten Datensätze |
NVALID(Feldname)
GUELTIGE() |
Anzahl der nicht-leeren und gültigen Feldinhalte über alle reportierten Datensätze |
NINVALID(Feldname)
UNGUELTIGE() |
Anzahl der ungültigen Feldinhalte (z.B. Text statt Zahl) über alle reportierten Datensätze |
NEMPTY(Feldname)
LEERE() |
Anzahl der leeren Feldinhalte über alle reportierten Datensätze |
AVG(Feldname)
MITTEL() AVERAGE() |
Arithmetisches Mittel aller reportierten Inhalte von »Feldname«. Leere Felder gehen nicht ein. Entspricht SUM(Feldname) / NVALID(Feldname) |
DEV(Feldname)
STANDARDABWEICHUNG |
Standardabweichung aller reportierten Inhalte von »Feldname«. Leere Felder gehen nicht ein. |
VAR(Feldname)
VARIANZ() |
Varianz (Quadrat der Standardabweichung) aller reportierten Inhalte von »Feldname«. Leere Felder gehen nicht ein. |
MSQUARES (Feldname)
MITTLEREQUADRATE() |
Arithmetisches Mittel der Quadrate aller reportierten Inhalte von »Feldname« |
Rechner- und Anwender-Daten sowie Textstatistik |
|
Mit diesen Befehlen können Sie auf bestimmte Namens-Werte und Bezeichnungen zugreifen, die vom Betriebssystem oder von Papyrus bereit gestellt werden.
Diese Daten können auch in Querverweisen (aus dem Menü »Einfügen«) benutzt werden (Querverweis-Dialog auf »beliebiger Ausdruck« stellen). |
|
BENUTZERNAME | Der Anwender-Login, der beim System angemeldet ist. |
RECHNERNAME | Name Ihres Computers im System / Netz |
DATEIGROESSE | Die Größe dieser Datei in Bytes |
ANZAHL_ZEICHEN | Anzahl aller Buchstaben im Dokument |
ANSCHLAGSZAHL | Anzahl aller getippten Zeichen inkl. Leerzeichen etc. |
ANZAHL_WÖRTER | Anzahl aller Wörter im Dokument |
ERSTELLT,
DOKUMENT_ERSTELLDATUM |
Zeit, zu der Sie das Dokument neu angelegt haben. |
BEARBEITUNGSZEIT | Zeit, die Sie dies Dokument bisher bearbeitet haben. |
ZULETZTGEDRUCKT | Zeit, zu der dies Dokument das letzte Mal gedruckt wurde |
ZULETZTGESPEICHERT | Zeit, zu der das letzte Mal abgespeichert wurde |
GESPEICHERTVON | Benutzer-Systemlogin, das zuletzt gespeichert hat |
Kontaktdaten für Ihr Text-Dokument |
|
Diese Werte sind für eine automatische »Titelei« und das Impressum wichtig. Papyrus holt sie sich aus »Dokument« → »Dokument-Eigenschaften« → »Titelei (Impressum etc.)«. Vorlage dafür sind die Werte aus »Einstellungen« → »Dokumente« → »Autorendaten«. |
|
AUTOR, DOKUMENT_AUTOR | Autor des Dokuments |
DOKUMENT_HERAUSGEBER | Verantwortlicher Herausgeber des Dokuments |
DOKUMENT_VERLAG | Verlag des Buches / Dokuments |
DOKUMENT_COPYRIGHT | Der Inhaber des Copyrights Ihres Werks |
DOKUMENT_ADDRESSE | Adresse des für das Dokument Verantwortlichen: Verlag, Herausgeber oder Autor (wenn im Self Publishing) |
DOKUMENT_TITEL, TITEL | Der Titel Ihres Dokuments (den Sie im Dialog vergeben,
nicht der Titel der Datei) |
DOKUMENT_UNTERTITEL | Ein ergänzender Lang- oder Untertitel Ihres Werks |
DOKUMENT_ISBN | Eine evtl. für dies Werk vorhandene ISBN-Nummer |
DOKUMENT_JAHR | Das Jahr der Ersterscheinung des Werks |
DOKUMENT_AUFLAGE | Die aktuelle Auflage dieses Werks |
DOKUMENT_AUFLAGENJAHR | Das Jahr, in dem die aktuelle Auflage gedruckt wird |
DOKUMENT_VERTRIEBSWEG | Verlag, E-Book, Self Publishing – bestimmt Ihr Impressum |
DOKUMENT_DRUCKEREI | Die Druckerei für Ihr Werk (ggf. mit Ort oder sogar Adresse) |
DOKUMENT_LAND | Das Land, in dem Ihr Werk erscheint |
DOKUMENT_RECHTE | Rechte für verwendete Abbildungen oder Übersetzungen |
DOKUMENT_SCHRIFTEN | Verwendete Schriften, die über Standard-Fonts hinausgehen |
DOKUMENT_INTERNET | Internet-Seite mit weiteren Informationen |
DOKUMENT_EMAIL | E-Mail-Adresse für Kontakte zum Dokument |
DOKUMENT_TELEFON | Telefonnummer für Kontakte zum Dokument |
DOKUMENT_AUTORVITA | Eine Kurzbeschreibung des Autors (z.B. für den Klappentext) |
DOKUMENT_ABSTRACT | Eine kurze Buchbeschreibung (z.B. für den Klappentext) |
DOKUMENT_THEMA | Einordnung / Thema Ihres Dokuments |
DOKUMENT_BEMERKUNG | Ihre Bemerkungen zu diesem Dokument |
DOKUMENT_FIRMA | Name Ihrer Firma, sofern Ihr Buch beruflich entstand |
STICHWOERTER | Stichwörter, die Sie für Ihr Dokument angelegt haben wollen. |
DOKUMENT_KATEGORIE | Eine Kategorie, unter die dies Dokument fällt. |
DOKUMENT_VORLAGE | Dateiname der Vorlage, aus der dies Dokument entstand |
Formatierungen und Befehle für Datenbank-Reports |
|
Mit diesen Befehlen können Sie in einem Report bestimmte Formatierungen auslösen. Eingabe in Report-Platzhaltern in eckigen Klammern: »[CR]« | |
PICREF(Pfad) | Fügt ein externes Bild mit Pfadangabe in einen Report ein |
CR | Neue Zeile (bzw. neuer Absatz mit »hartem« Ende) |
TAB | Sprung an die nächste Tabulator-Position in der Zeile |
LF LINEEND LINEBREAK | Neue Zeile (als »weiches« Absatzende) |
FF NEWPAGE PAGEBREAK | Neue Seite |
NEWCOLUMN COLUMNBREAK | Neue Spalte (bei mehrspaltigen Seiten) |
CALL(Programm,Parameter) | Ruft im Report ein extern ausführbares Programm (ggf. mit Pfad) auf. Aufruf-Parameter mit Leerzeichen. |
ABORT(Fehlertext) | Bricht einen Report mit Alarmbox mit Fehlertext ab. Zeilenumbruch im Fehlertext mittels ’|’. |
MESSAGEBOX(Icon, Text, Button(s)) | Erzeugt eine Alarm-Box. Icons: 0 – kein; 1 – Ausrufezeichen; 2 – Fragezeichen; 3 – Stopp; 4 – Info. ‚|‘ erzeugt einen Zeilenumbruch. Die Button-Texte werden mit ’|’ getrennt angegeben (kein Text zeigt »OK«). Rückgabewert ist die Button-Nummer (mit »0« beginnend), bei Abbruch derhöchste Wert. |
REPORT(Reportpfad) | Ruft einen anderen Report (ggf. mit Pfad) auf. Die Reportvorlage muss für diese Datenbanktabelle eingetragen sein. |
SUM(Feldname) | Summe über alle reportierten Datensätze. Bei ›Text‹ oder ›Text oder Zahl‹ wird das Ergebnis eine Fließkommazahl. |
MIN(<Feldname>) | kleinster Wert. Leere Felder zählen nicht mit. |
MAX(<Feldname>) | größter Wert |
COUNT(*) | Gesamte Anzahl der bearbeiteten Datensätze |
NVALID(<Feldname>) | Anzahl der nicht-leeren und gültigen Feldinhalte |
NINVALID(<Feldname>) | Anzahl der ungültigen Feldinhalte (z.B. Text statt Zahl) |
NEMPTY(<Feldname>) | Anzahl der leeren Feldinhalte |
AVG(<Feldname>) | Arithmetisches Mittel. Leere Felder gehen nicht ein. |
DEV(<Feldname>) | Standardabweichung. Leere Felder gehen nicht ein. |
VAR(<Feldname>) | Varianz (Quadrat der Standardabweichung) |
MSQUARES (<Feldname>) | Arithmetisches Mittel der Quadrate |
SAVE(Dateipfad) | Speichert eine Kopie des aktuellen Reports. Formate: *.pap, *.rtf, *.doc, *.html, *.pdf, *.pap.pdf.
„Report direkt speichern“ im Report-Dialog verhindert, dass für so einen Report ein Fenster geöffnet wird. |
Variablen-Namen für den E-Mail-Versand in Datenbank-Reports |
|
EMAIL_RECIPIENT | Empfänger der E-Mail |
EMAIL_RECIPIENT_NAME | zusätzlich Angabe des realen Namens des Empfängers |
EMAIL_RECIPIENT_ROLE
EMAIL_TO |
normale Empfänger-Liste |
EMAIL_CC | »Carbon Copy« Liste, also Empfänger, die die Mail nur als Kopie empfangen sollen |
EMAIL_BCC | »Blind Carbon Copy« Liste, also Empfänger, die die Mail nur als Kopie empfangen sollen und dabei für andere Empfänger unsichtbar bleiben sollen |
EMAIL_SUBJECT | Betreff-Zeile der Mail |
EMAIL_LOGIN_USER='<Benutzername>‘ | Wenn der Mail-Server eine Authentifizierung verlangt, gibt man hier den Login ein |
EMAIL_LOGIN_PASSWORD='<Passwort> | Wenn der Mail-Server eine Authentifizierung verlangt, gibt man hier das Passwort ein |
LET EMAIL_ATTACHMENTS=’File1,File2‘ | Papyrus erzeugt eine Multipart MIME E-Mail mit Dateianhängen |
LET EMAIL_HTML= | 0: nur Text, 1: Text und HTML, 2: nur HTML |
LET EMAIL_PDF= | Der Papyrus-Text wird als PDF Datei angehängt |
EMAIL_PDF_FILE | Name der angehängten PDF-Datei |
EMAIL_PLAIN_TEXT | Rein-Text als Alternativ-Text für HTML-Mails |
EMAIL_LOG_PATH | Pfad für die Log-Datei |
EMAIL_LOGGING | Schalter für das Logging des Reports |