Sie können mehrere Spaltenwerte mit Freemarker addieren, subtrahieren, multiplizieren usw. Um Freemarker Syntax zu verwenden, nutzen Sie bitte das "Wert" Feld in einer beliebigen Spalte. Klicken Sie auf das  um aus allen vorhandenen Spalten ein oder mehrere Spalten dem "Wert" Feld hinzuzufügen. Fügen Sie nun einen beliebigen Rechenoperator zwischen die beiden Ausdrücke (z.B. ein +). Das Resultat sieht in etwa so aus:


Freemarker-Code

${SPALTENNAME_A?number + SPALTENNAME_B?number}

   

Dezimaltrenner

 

Wichtig ist, Rechenoperationen funktionieren nur mit einem Punkt als Dezimaltrenner (z.B. 19.99). Falls dies bei Ihnen schon der Fall ist, lesen Sie weiter.



Fallstrick

 

Es ist wichtig, dass bei Rechenoperationen die Formel innerhalb der geschweiften Klammern steht. Ansonsten würden einfach nur beide Werte ausgegeben werden.

Richtig: 

${SPALTENNAME_A?number + SPALTENNAME_B?number}

 Falsch: 

${SPALTENNAME_A?number} + ${SPALTENNAME_B?number}

 

Komma durch Punkt ersetzen

Dies erreichen Sie mit der Freemarker Funktion ?replace(). Zwischen die Klammern kommt zum einen das Zeichen welches ersetzt werden soll (in diesem Fall ",") gefolgt von einem Komma und danach den Wert der dafür eingesetzt werden soll (in diesem Fall ein Punkt "."). In diesem Fall würde sich folgendes Resultat ergeben:

 

${SPALTENNAME_A?replace(",",".")?number + SPALTENNAME_B?replace(",",".")?number}

 

Zeichenkette in eine Zahl umwandeln

Freemarker behandelt jeden Spaltenwert als eine Zeichenkette. Um eine Rechenoperation durchzuführen bedarf es jedoch selbstverständlich Zahlen. Um die Zeichenkette in eine Zahl umzuwandeln wird die Freemarker Funktion ?number benötigt. Diese Funktion hängen sie einfach am Ende ihrer Variablen an und schon erkennt Freemarker die Werte als Zahlen.

Das finale Resultat für eine Addition von zwei Spalten sieht demnach wie folgt aus (falls keine Kommas ersetzt werden mussten,können die replace(...)" Anweisungen ignoriert werden):

 

${SPALTENNAME_A?replace(",",".")?number} + ${SPALTENNAME_B?replace(",",".")?number}