In diesem Artikel wird erklärt, wie du das Fälligkeitsdatum einer Aufgabe automatisch in den Projektdaten anzeigen lassen kannst – indem die Aufgabe mit einem Label markiert wird. Diese Technik eignet sich hervorragend für Meilensteine wie Projektstart, GoLive, Projektende oder andere wichtige Termine.
Die Umsetzung besteht aus zwei getrennten Formel-Flavors:
-
Flavor 1: Ermittelt das
Fälligkeitsdatumaus Aufgaben und speichert es alsTimestamp. -
Flavor 2: Liest den gespeicherten
Timestampaus Flavor 1 aus und zeigt ein Datum oder eine Fehlermeldung an.
Wichtig: Beide Formeln/Flavor werden in den Stammdaten eines Projektes angelegt.
Die folgenden Beispiele zeigen die Funktionsweise in drei Schwierigkeitsstufen – von einfach bis zur vollautomatischen Profi-Version.
Teil 1 – Datum aus Aufgaben ermitteln & als Timestamp speichern
Flavor 1 erzeugt einen Timestamp aus dem Fälligkeitsdatum einer Aufgabe. Dieser Wert wird gespeichert und später von Flavor 2 zur Anzeige verwendet.
Stufe 1 – Einfachste Version (ohne Label, ohne Prüfung)
Diese Formel speichert das Fälligkeitsdatum aller Aufgaben als Timestamp. Geeignet nur, wenn es genau eine relevante Aufgabe gibt.
persist( sumAll(toTimestamp(duedate)) )
Stufe 2 – Mit Label filtern
Diese Version berücksichtigt nur Aufgaben, die eine bestimmte Label-ID besitzen.
Die Label-ID findest du auf zwei Wegen:
- In einer Aufgabe, die das gewünschte Label trägt – klicke das Label an und wähle GUID kopieren.
- Im Label Manager – gewünschtes Label öffnen, auf Konfigurieren klicken und dort GUID kopieren auswählen.
persist(
sumAll('
if(contains(labelIds, "<LABEL-ID>", 1),
toTimestamp(duedate),
0)
')
)Austauschen: <LABEL-ID> → technische ID des gewünschten Labels.
Stufe 3 – Profi-Version (komplette Prüfung)
Diese Version bietet eine vollständige Logik mit Fehlererkennung:
- Mehrere Aufgaben haben dasselbe Label → Fehlercode
-1 - Exakt eine Aufgabe hat das Label → Datum als
Timestampspeichern
persist(
if(
sumAll('if(contains(labelIds, "<LABEL-ID>", 1), 1, 0)', 0) > 1,
-1,
sumAll('
if(contains(labelIds, "<LABEL-ID>", 1),
toTimestamp(duedate),
0)
', 0)
)
)
Teil 2 – Gespeicherten Timestamp als Datum anzeigen
Flavor 2 liest das Ergebnis von Flavor 1 (z. B. in einem Feld wie <TIMESTAMP-FELD>) und stellt es lesbar dar.
Stufe 1 – Einfaches Umwandeln (ohne Prüfung)
shortDate(
fromTimestamp(
flavor("<GespeichertesDatum>")
)
)Zeigt einfach das gespeicherte Datum an.
Stufe 2 – Warnung, wenn kein Datum gesetzt ist
if(
flavor("<GespeichertesDatum>") == 0,
"Kein Datum gesetzt",
shortDate(fromTimestamp(flavor("<GespeichertesDatum>")))
)
Stufe 3 – Profi-Version (komplette Fehlerlogik)
Diese Version erkennt:
-
-1→ Mehrere Aufgaben sind markiert -
0oder kleiner → Kein Datum gesetzt - Positiver Wert → gültiger
Timestamp
if(
flavor("<GespeichertesDatum>") == -1,
"Datum nicht eindeutig definiert (mehrere Aufgaben gesetzt)",
if(
flavor("<GespeichertesDatum>") == 0 || flavor("<GespeichertesDatum>") < -1,
"Noch kein Datum definiert",
shortDate(
fromTimestamp(flavor("<GespeichertesDatum>") - 2*60*60*1000)
)
)
)
Hinweise:
- Für jeden Meilenstein sollte ein eigenes
Labelverwendet werden. - Flavor 1 (Berechnung) und Flavor 2 (Anzeige) müssen in getrennten
Flavor-Feldern liegen. - Zum Ausprobieren der 1. Formel sollte diese in einer Aufgabe/Meilenstein verwendet werden. Danach müssen aber beide Formeln in die Stammdaten
- Beide Formeln/Flavor müssen in den Stammdaten vorhanden sein, sonst geht es nicht
- Die Zeitzonenkorrektur (–2 Stunden) ist optional und kann angepasst oder entfernt werden.
- Die Methode eignet sich für Portfoliodarstellungen und Projektübersichten.
- Weitere Informationen zu allen genannten Funktionen findest du im Abschnitt Formeln des Helpcenters.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.