Formeln
Einführung Formeln
Eine Formel wertet die Werte von Bausteinen aus und kombiniert sie zu einem neuen Wert.
Für die Nutzung von Formeln stehen drei Bausteintypen im App-Designer zur Verfügung:
- Rechenergebnis: Verwenden Sie den Baustein Rechenergebnis, wenn Sie mit Zahlenwerten rechnen möchten.
- Textergebnis: Verwenden Sie den Baustein Textergebnis, wenn Sie Textoperationen durchführen möchten.
- Zeitraumergebnis: Verwenden Sie den Baustein Zeitraumergebnis, wenn das Ergebnis der Formel eine Zeitangabe ergibt.
Hinweis: Das Zeitraumergebnis kann auch innerhalb von Sichtbarkeitsregeln verwendet werden, es wird dabei als eine Zahl interpretiert. Dabei stellt die Zahl 1 einen ganzen Tag dar. Beispiele:
- 1 Minute = 1/1440 = 0,0007
- 1 Stunde = 1/24 = 0,0417
- 1 Tag = 1
- 1 Woche = 7
- 6 Stunden = 0,25
- 3 Stunden und 45 Minuten = 0,15625
Bestandteile von Formeln
- Verweise auf Bausteine
- Verwenden Sie die Schreibweise ##Bausteinname##, um den Wert eines Bausteins abzufragen.
- Schließen Sie den Bausteinnamen in Anführungszeichen ein, wenn Sie den Wert eines Bausteins als Funktionsparameter im Rechenergebnis verwenden möchten:
"##Bausteinname##"
- Verwenden Sie die Schreibweise ##Bausteinname?Text##, um den Anzeigetext eines Bausteins abzufragen (Gilt nur für Bausteine, die mit einer Werteliste verknüpft werden können: Auswahlliste, Kontrollkästchen, Optionsfelder, Punkteskala)
- Punkteskala:
- Verwenden Sie die Schreibweise ##Punkteskala$Zeilennummer## um den Wert einer Zeile aus der Punkteskala abzufragen.
- Wiederholung:
- Verwenden Sie die Schreibweise ##Bausteinname## um den Wert eines Bausteins aus einer Wiederholung innerhalb der Wiederholung abzufragen.
- Verwenden Sie die Schreibweise ##Wiederholungsname.Bausteinname## um den Wert eines Bausteins aus einer Wiederholung außerhalb der Wiederholung abzufragen.
- Funktionen
- Eine Liste der unterstützten Funktionen finden Sie hier.
- Weitere Funktionen:
ISVISIBLE(##Bausteinname##)
: Gibt zurück, ob ein bestimmter Baustein sichtbar ist.
- Operatoren: Eine Liste der unterstützten Operatoren finden Sie hier.
- Logische Verknüpfungen: Beachten Sie, dass logische Verknüpfungen wie AND und OR nicht als Operatoren, sondern als Funktionen realisiert sind. Es heißt also nicht
IF(##TextfeldA## = "Text1" OR ##TextfeldA## = "Text2", "Richtig", "Falsch")
sondernIF(OR(##TextfeldA## = "Text1", ##TextfeldA## = "Text2"), "Richtig", "Falsch")
Siehe auch Beispiele.
Beispiele für Formeln
Zweck | Formel |
---|---|
Addition von zwei Zahlenfeldern | Zahlenfeld1## + ##Zahlenfeld2 |
Zusammenfügung von zwei Textfeldern | Textfeld1## & ##Textfeld2 |
Anzeigetext der Auswahlliste | Auswahlliste?Text |
Rechnen mit Zeiträumen | UhrzeitEnde## - ##UhrzeitBeginn## - ##Pausendauer |
Summe aller gewählten Werte einer Punkteskala | SUM(##Punkteskala##) |
Zusammenführung aller gewählten Werte einer Punkteskala | CONCAT(##Punkteskala##) |
Anzeigetext der ausgewählten Option in der 1. Zeile der Punkteskala | Punkteskala$1?Text |
Summe der gewählten Werte der Zeile 1 und 2 einer Punkteskala | SUM(##Punkteskala$1##, ##Punkteskala$2##) oder Punkteskala$1## + ##Punkteskala$2 |
Summe aller gewählten Werte einer Punkteskala in Wiederholungen. | SUM(##Wiederholung.Punkteskala##) |
Summe aller gewählten Werte der Zeile 1 von Punkteskalen in Wiederholungen. | SUM(##Wiederholung.Punkteskala$1##) |
Summe der Werte eines Zahlenfeldes aus einer Wiederholung | SUM(##Wiederholung.Zahlenfeld##) |
Zusammenführung der Inhalte eines Textfeldes aus einer Wiederholung | CONCAT(##Wiederholung.Textfeld##) |
Rückgabe eines Textes abhängig vom Inhalt eines Textfeldes | IF(##TextfeldA## = "Text1", "Richtig", "Falsch") |
Rückgabe des Wochentags abhängig vom Wert eines Datumsfelds | SWITCH(WEEKDAY(##DatumundZeitErfassung##, 2), 1, "Montag", 2, "Dienstag", 3, "Mittwoch", 4, "Donnerstag", 5, "Freitag", 6, "Samstag", 7, "Sonntag") |
Anzahl der Zeichen in einem Text | Len("##Bausteinname##") |
Logische Verknüpfungen | IF(OR(##TextfeldA## = "Text1", ##TextfeldA## = "Text2"), "Richtig", "Falsch") |
Sichtbarkeit von Bausteinen auswerten | IF(ISVISIBLE(##TextboxA##), "TextboxA ist sichtbar", "TextboxA ist unsichtbar") |