Portant Docs

Tag-Formeln

Tag-Formeln ermöglichen es Ihnen, Berechnungen durchzuführen, Datumsangaben zu formatieren, Text zu erstellen und Werte innerhalb eines Tags zu aggregieren. Sie verwenden dieselbe {{ }}-Syntax wie ein normales Tag, beginnen jedoch mit =, um sie als Formel zu kennzeichnen.

Wenn Ihre Quelle beispielsweise ein Feld Line Item Price enthält und Sie den Preis mit 10 % Mehrwertsteuer anzeigen möchten, multiplizieren Sie das Feld mit 1.1:

{{= Line Item Price * 1.1}}

Tag formula evaluated inside a Portant document template

Arithmetik

Sie können folgende arithmetische Operatoren in Tag-Formeln verwenden:

Symbol Operation
+ Addition
* Multiplikation
- Subtraktion
/ Division

Sie können mehrere Operatoren kombinieren und Klammern ( ) verwenden, um komplexere Ausdrücke zu erstellen.

Integrierte Formeln

Wie Google Sheets und Excel verfügt Portant über eine Reihe integrierter Formeln, die Sie innerhalb eines Tags aufrufen können. Zum Beispiel begrenzt ROUND einen numerischen Wert auf eine festgelegte Anzahl von Dezimalstellen:

{{Line Item Price}} -> 24.1234
{{=ROUND(Line Item Price, 2)}} -> 24.12
{{=ROUND(Line Item Price)}} -> 24

Folgende integrierte Formeln sind verfügbar:

Formel Beschreibung
ROUND(Tag, [Places]) Rundet den numerischen Wert von Tag auf Places Dezimalstellen. Lassen Sie das zweite Argument weg, um auf eine ganze Zahl zu runden.
DEFAULT(Tag, Default Value) Verwendet einen Ersatzwert, wenn das Tag leer ist.
ADD(Tag 1, Tag 2, [...]) Addiert zwei oder mehr numerische Tags. Entspricht der Verwendung von +.
MULTIPLY(Tag 1, Tag 2, [...]) Multipliziert zwei oder mehr numerische Tags miteinander. Entspricht der Verwendung von *.
TRUNCATE(Tag, Length) Kürzt den Textwert von Tag auf die angegebene Length.
LOWER(Tag) Wandelt den Wert von Tag in Kleinbuchstaben um.
UPPER(Tag) Wandelt den Wert von Tag in GROSSBUCHSTABEN um.

[ ] bedeutet, dass der Parameter optional ist.

Sie können an beliebiger Stelle in einer Formel Literalwerte anstelle von Tags (und Tags anstelle von Werten) übergeben.

Numerisch

Aggregierte Formeln

Einige integrierte Formeln sind für die Verwendung mit Workflows zur Datengruppierung konzipiert und aggregieren alle gruppierten Werte eines Tags. Die gebräuchlichste ist SUM, die alle Werte eines bestimmten Tags addiert. Sie ist die einfachste Möglichkeit, eine Summe innerhalb einer Vorlage zu berechnen.

Within a Data Grouping Table:
+-----------------------------+
|1. {{Line Item Price}} -> 10 |
+-----------------------------+
|2. {{Line Item Price}} -> 20 |
+-----------------------------+
|3. {{Line Item Price}} -> 30 |
+-----------------------------+

{{=SUM(Line Item Price)}} -> 60

Die numerischen aggregierten Formeln sind:

Formel Beschreibung
SUM(Tag) Addiert alle Werte für Tag.
PRODUCT(Tag) Multipliziert alle Werte für Tag miteinander.
AVG(Tag) Berechnet den Durchschnitt aller Werte für Tag.
MAX(Tag) Gibt den größten Wert für Tag zurück.
MIN(Tag) Gibt den kleinsten Wert für Tag zurück.

Sie können aggregierte Formeln an beliebiger Stelle im Dokument verwenden, auch innerhalb komplexerer Ausdrücke. Um beispielsweise zu berechnen, welchen prozentualen Anteil eine einzelne Positionszeile an der Gesamtsumme hat:

{{= (Price / SUM(Price)) * 100 | 2}}%

Für die Positionszeilen in der obigen Tabelle ergibt dies:

+-------------------+------------------------------------------------+
|1. {{Price}} -> 10 | {{= (Price / SUM(Price)) * 100 | 2}}% -> 0.16% |
+-------------------+------------------------------------------------+
|2. {{Price}} -> 20 | {{= (Price / SUM(Price)) * 100 | 2}}% -> 0.33% |
+-------------------+------------------------------------------------+
|3. {{Price}} -> 30 | {{= (Price / SUM(Price)) * 100 | 2}}% -> 0.50% |
+-------------------+------------------------------------------------+

Dezimalstellen-Modifikator

Fügen Sie am Ende eines Ausdrucks | gefolgt von einer Zahl hinzu, um das Ergebnis auf die entsprechende Anzahl von Dezimalstellen zu runden, genau wie ROUND. Um beispielsweise einen beliebigen Ausdruck auf 3 Dezimalstellen zu runden:

{{1.1234 + 1.0 | 3}} -> 2.123

Datums- und Uhrzeitformatierung

Formatieren Sie ein beliebiges Datum oder einen Zeitstempel mit der Formel FORMATDATE. Damit haben Sie die vollständige Kontrolle darüber, wie Datumsangaben in Ihren generierten Dokumenten erscheinen.

Grundlegende Verwendung

Verwenden Sie die Formel innerhalb eines Tags:

{{=FORMATDATE(Timestamp, "DD/MM/YYYY")}}

Der erste Parameter ist Ihr Datumsfeld. Der zweite Parameter ist das Ausgabeformat.

Formatierungstoken

Token Ausgabebeispiele
D 1, 19
DD 01, 19
M 1, 12
MM 01, 12
MMM Jan, Dec
MMMM January, December
YY 25
YYYY 2025

Beispielformate

Format Ausgabebeispiel
"DD/MM/YYYY" 07/02/2025
"MMM D, YYYY" Feb 7, 2025
"MMMM DD" February 07
"YY-MM-DD" 25-02-07

Datums- und Uhrzeitarithmetik

Sie können mithilfe dieser Hilfsfunktionen Zeit zu einem Datumsfeld addieren oder davon subtrahieren:

{{= Date + DAYS(30)}} gibt einen Wert zurück, der 30 Tage nach dem Wert von Date liegt.

Die unterstützten Einheiten (wobei N die zu addierende oder zu subtrahierende Menge ist) sind:

  • MINUTES(N)
  • HOURS(N)
  • DAYS(N)
  • WEEKS(N)

Formelglossar

Summe

Gibt die Summe einer Reihe von Feldwerten zurück, einschließlich aller Feldwerte innerhalb eines Datengruppierungs-Tags.

Syntax

{{=SUM(tag1, tag2, ...)}}

  • tag1: Das erste Tag, das addiert werden soll.
  • tag2, ... (optional): Weitere Tags, die zu tag1 addiert werden.

Tags innerhalb der Klammern benötigen kein {{ und }} drum herum.

Durchschnitt

AVG gibt den numerischen Durchschnitt einer Gruppe von Tags zurück, einschließlich aller Feldwerte innerhalb eines Datengrupperungs-Tags.

Syntax

{{=AVG(tag1, tag2, ...)}}

  • tag1: Das erste Tag oder Datengruppen-Tag, das in den Durchschnitt einbezogen werden soll.
  • tag2, ... (optional): Weitere Tags, die einbezogen werden sollen.

Maximum

Gibt den größten Wert aus einer Gruppe von Tags zurück, einschließlich aller Feldwerte innerhalb eines Datengruppen-Tags.

Syntax

{{=MAX(tag1, tag2, ...)}}

  • tag1: Das erste Tag oder Datengruppen-Tag, das berücksichtigt werden soll.
  • tag2, ... (optional): Weitere Tags, die berücksichtigt werden sollen.

Minimum

Gibt den kleinsten Wert aus einer Gruppe von Tags zurück, einschließlich aller Feldwerte innerhalb eines Datengruppen-Tags.

Syntax

{{=MIN(tag1, tag2, ...)}}

  • tag1: Das erste Tag oder Datengruppen-Tag, das berücksichtigt werden soll.
  • tag2, ... (optional): Weitere Tags, die berücksichtigt werden sollen.

Runden

Rundet den numerischen Wert eines Felds auf eine bestimmte Anzahl von Dezimalstellen.

Syntax

{{=ROUND(tag, [places])}}

  • tag: Der zu rundende Wert.
  • places (optional, standardmäßig 0): Die Anzahl der Dezimalstellen, auf die gerundet werden soll.

Verwendungsbeispiel

{{=ROUND(1.234, 2)}} -> 1.23

{{=ROUND(1.234)}} -> 1

Multiplizieren

Gibt das Produkt zweier Felder oder numerischer Werte zurück. Entspricht dem Operator *.

Syntax

{{=MULTIPLY(tag1, tag2)}}

  • tag1: Ein Feld mit einem numerischen Wert oder eine direkte Zahl (z. B. 6).
  • tag2: Ein Feld mit einem numerischen Wert oder eine direkte Zahl (z. B. 7).

Addieren

Gibt die Summe zweier Felder oder numerischer Werte zurück. Entspricht dem Operator +.

Syntax

{{=ADD(tag1, tag2)}}

  • tag1: Ein Feld mit einem numerischen Wert oder eine direkte Zahl (z. B. 19).
  • tag2: Ein Feld mit einem numerischen Wert oder eine direkte Zahl (z. B. 23).

Text

Verketten

Verbindet Zeichenketten miteinander.

Verwendungsbeispiel

{{=CONCATENATE('Hello', ' ', 'World')}} -> "Hello World"

{{=CONCATENATE(Line Item Name)}} -> "Item AItem BItem C" (ohne Leerzeichen)

CONCATENATE(A2:B7)

Syntax

CONCATENATE(tag_name_1, [tag_name_2, ...])

  • string1: Ein beliebiges Feld oder Datengruppierungsfeld aus der Quelle oder eine direkte Zeichenkette in Anführungszeichen.
  • string2 ...: Eine beliebige Anzahl weiterer Felder, Datengruppierungsfelder oder direkter Zeichenketten.

Textverbindung

Kombiniert Text aus mehreren Feldern oder aus einem Datengruppierungsfeld mit mehreren Werten und fügt zwischen jedem Element ein Trennzeichen ein.

Verwendungsbeispiel

{{=TEXTJOIN(" | ", "Hello", "World")}} -> "Hello | World"

{{=TEXTJOIN(", ", Line Item Name)}} -> "Item A, Item B, Item C"

Syntax

{{=TEXTJOIN(delimiter, tag_name_1, [tag_name_2, ...])}}

  • delimiter: Eine Zeichenkette (die leer sein kann) oder ein anderes Feld. Wenn leer, werden die Werte einfach aneinandergereiht.
  • tag_name_1: Ein beliebiges Feld oder Datengruppierungsfeld aus der Quelle oder eine direkte Zeichenkette in Anführungszeichen.
  • tag_name_2, ...: Eine beliebige Anzahl weiterer Felder, Datengruppierungsfelder oder direkter Zeichenketten.

Sie können auch {{=TEXTJOINNONEMPTY(...)}} verwenden, um leere Werte im Ergebnis zu überspringen.

Kürzen

Kürzt den Wert eines Felds oder einer direkten Zeichenkette auf eine bestimmte Länge.

Syntax

{{=TRUNCATE(tag, length)}}

  • tag: Der zu kürzende Text.
  • length: Die Anzahl der beizubehaltenden Zeichen.

Wenn length größer ist als die Anzahl der Zeichen im Wert, wird der Wert unverändert zurückgegeben.

Beispiel

{{Message}} -> "Hello World"

{{=TRUNCATE(Message, 5)}} -> "Hello"

Filtern und summieren (SUMIF)

Summiert Werte, die einer Bedingung entsprechen.

Syntax

{{=SUMIF(Condition Tag = "Something", Numeric Data Grouped Field)}}

Weitere Informationen zu Bedingungen innerhalb von Tags finden Sie unter Tag-If-Anweisungen.