Arbeiten mit Formeln
Datumsformeln
Datumsformeln sind nur in Verbindung mit dem Baustein Datum möglich. Diese Formeln können in den Filtern für Datensatzverknüpfungen oder im Listenfilter verwendet werden, wenn dort der Formelbutton zu sehen ist.
Beispiel:
- Datumsfeld in Filter und Sortierung auswählen
- Formelbutton auswählen
- Formel eintragen
Dadurch werden die Datensätze entsprechend des sog. dynamischen Datumsfilter gefiltert.
HINWEIS: Keine eigenen Werte in die Klammer setzen (s. Liste mit Standard-Datumsformeln)
In den Klammern der einzelnen Formeln können keine eigenen Werte hinsichtlich einer eigenen Zeitpunktsberechnung erfolgen (zum Beispiel: endOfMonth(24.09.2021) = 30.09.2021). Die Eingabe einer Datumsformel erfolgt immer vom tagesaktuellen Datum automatisch durch die App. Das hat den Vorteil, dass dieser sog. dynamische Filter automatisch “mitwandert” und die Filterung entsprechend der gewählten Formel immer aktuell hält.
Möchte man mit den o. g. Formeln doch mit einem eigenen Zeitpunkt arbeiten, muss dieser selbst errechnet werden (s. Formelberechnung mit Datumsformel).
Formelberechnung mit Datumsformel
(nur möglich über einen Datumsbezug aus einer Datumsformel (s. o.))
Mit den o. g. Datumsformeln kann ebenfalls gerechnet werden.
Beispiel (Berechnungszeitpunkt 15.06.2021):
today() + 5 = 20.06.2021
today() - 5 = 10.06.2021 startOfMonth() + 10 = 11.06.2021
Für das selbe Ergebnis können auch die Formeln addDays() und subtractDays() genutzt werden:
Beispiel (Berechnungszeitpunkt 15.06.2021):
addDays(today() , 5) = 20.06.2021 subtractDays(today() , 5) = 10.06.2021
Sollen der Datumsformel nun ganze Monate addiert oder subtrahiert werden, können die Formelberechnungen addMonths() und subtractMonths() verwendet werden. Der Berechnungsformel und der gewählten Datumsformel werden anhand der frei gewählten Zahl die entsprechenden Monate hinzugefügt.
HINWEIS: Die Berechnung über diese Formeln über einen Monatswechsel führt zu einer falschen Berechnung aufgrund der unterschiedlichen Monatsendungen (s. Beschreibung unter den folgenden Beispielen).
Die zu addierende oder subtrahierende Zahl (muss eine ganze und positive Zahl sein) und wird mit einer Komma-Trennung in der entsprechenden Formel eingesetzt.
Beispiel:
Berechnung | Beispiel (Berechnungszeitpunkt: 15.06.2021) | Ergebnis |
---|---|---|
addMonths() | addMonths(startOfWeek(),1) | 14.07.2021 |
addMonths() | addMonths(startOfWeek(),3) | 14.09.2021 |
subtractMonths() | subtractMonths(startOfQuarter(),1) | 01.03.2021 |
subtractMonths() | subtractMonths(startOfQuarter(),5) | *01.10.2020* |
Eine Berechnung des Endes des letzten Monats kann nicht über subtractMonths(endOfMonth(),1) dargestellt werden. Die Datumsformel endOfMonth() greift dabei nämlich auf das Ende des aktuellen Monats zu. Aufgrund der unterschiedlichen Endtage der einzelnen Monate würde immer mindestens ein Tag ignoriert werden.
Beispiel (Berechnungszeitpunkt: 15.03.2022):
erwartetes Ergebnis:
subtractMonths(endOfMonth(),1) = subtractMonths(31.03.2022, 1) = 28.02.2022
tatsächliches Ergebnis:
subtractMonths(endOfMonth(),1) = subtractMonths(31.03.2022, 1) = 03.03.2022
Dieses Ergebnis kommt zustande, da der Februar 2022 nur 28 Tage hat und nicht 31 Tage wie der März.
Um dieses Problem zu umgehen wird einfach der Wert vom Monatsanfang errechnet und davon ein Tag abgezogen.
Beispiel (Berechnungszeitpunkt: 15.03.2022):
startOfMonth() - 1 = 28.02.2022
Darstellungen von dynamischen Zeitspannen mit Formelberechnungen:
Durch die Möglichkeit der Formelberechnung mit einer Datumsformel lassen sich verschiedene Darstellungsmöglichkeiten errechnen, die in den Filteroptionen (z. B. einer Kachel) leicht verwendet werden können.
Formelkombination | Beschreibung | Ausgabewerte (Beispiel Berechnungszeitpunkt: 15.06.2021) |
---|---|---|
startOfWeek() und endOfWeek() | aktuelle Woche | 14.06.2021 und 20.06.2021 |
startOfWeek() -7 und endOfWeek() -7 | letzte Woche | 07.06.2021 und 13.06.2021 |
startOfMonth() und endOfMonth() | aktueller Monat | 01.06.2021 und 30.06.2021 |
subtractMonths(startOfMonth(),1) und startOfMonth()-1 | Letzter Monat | 01.05.2021 und 31.05.2021 |
Beispiel “alle Datensätze aus dem Vormonat (Berechnungszeitpunkt: 15.03.2022):”
- Designmodus Arbeitsbereich öffnen
- Kachel auswählen und in den Einstellungen Filter & Sortierung öffnen
- Datumsfeld für Filter wählen
- zutreffenden Operator auswählen
- über den jeweiligen Formelbutton die Datumsformel inkl. Formelberechnung eingeben
Im Ergebnis wird der gesetzte Filter beim Aufrufen des Bausteins automatisch anhand der Berechnung vorbelegt: