In der Hauptkategorie Formeln findest du hilfreiche Informationen und Anwendungsbeispiele zur Verwendung von Formeln. Schaue dort vorbei, um mehr über den effizienten Einsatz von Formeln in smenso zu erfahren.
Mit Flavors vom Typ "Formel" lassen sich Berechnungen zwischen verschiedenen numerischen und Datumsfeldern aus Systemfeldern oder anderen Flavors erzeugen. Diese Berechnungen können sowohl auf Aufgabenebene als auch Projekteben (Portfolio) erzeugt werden.
Die Formel-Flavors können sowohl für einfache als auch komplexere Formeln verwendet werden.
Beispiel
Stelle Dir als einfaches Beispiel vor: Du hast ein benutzerdefiniertes Feld (Flavor) für die "Arbeitsstunden" zusammen mit einem benutzerdefinierten Feld (Flavor) für den "Stundensatz". Mit Formel-Flavors kannst Du diese zusammenrechnen und den fakturierbaren Umsatz ermitteln.
Die entsprechende Formel (mit pinker Formatierung 😎):
In der Listenansicht kann noch dazu in jeder Spalte mit numerischen Werten ein Durchschnitt oder eine Summe berechnet werden - einschließlich oder ohne Unteraufgaben:
Aufbau des Formel-Editors
- Im obersten Feld wird die Formel eingegeben
- Die Ergebnisvorschau überprüft stetig die eingegebene Formel und gibt ggf. ein Ergebnis aus
- Mit dem Suchfeld können Felder, Flavors und Funktionen gefunden werden
- In der linken Spalte werden Felder, Flavors und Funktionen dargestellt, die im Workspace vorhanden sind
- In der rechten Spalte des unteren Bereichs wird eine Beschreibung und die Syntax (bei Funktionen besonders relevant) dargestellt
- Über den Button
Insert
können Felder, Flavors und Funktionen in das Formelfeld eingefügt werden.
Erstellen einer einfachen Formel
- Erstelle einen Flavor
- Öffne die Flavor-Einstellungen
- Wähle den Typ
Formel
- Im Formel-Editor können die Werte der Felder über die Schublade eingefügt werden
- Wähle einen ersten Wert
- Setze einen Operator (
multiplizieren
,addieren
,subtrahieren
,teilen
) - Wähle einen zweiten Wert
Hinweis: In der Ergebnisvorschau wird Dir das aktuelle Ergebnis angezeigt, sofern die Formel korrekt eingegeben wurde.
- Wenn alles passt, speichere die Formel über den Button
Speichern
Hinweis:
Formel-Flavors werden zwar in einer Aufgabe in den Flavor-Einstellungen bearbeitet und gespeichert, die Formel gilt aber für alle Aufgaben gleichermaßen.
Verfügbare Felder
Standardfelder
Formel-Flavors können derzeit mit den folgenden Feldern verwendet werden:
FELD | BESCHREIBUNG |
---|---|
actualcost | IST-Kosten einer Aufgabe |
actualduration |
IST-Aufwand der Aufgabe in Stunden |
budget | Budget des Projektes |
created | Erstellungsdatum des Projektes |
column | Spaltentitel |
cost | Plan-Kosten einer Aufgabe |
duedate | Fälligkeitsdatum der Aufgabe/des Projekts |
duration | Plan-Aufwand der Aufgabe in Stunden |
folder | Projektordner |
isProject | Gibt 1 zurück, wenn das aktuelle Objekt ein Projekt ist, ansonsten 0 |
isSubtask | Gibt 1 zurück, wenn das aktuelle Objekt eine Unteraufgabe ist, ansonsten 0. |
isTask | Gibt 1 zurück, wenn das aktuelle Objekt eine Unteraufgabe ist, ansonsten 0. |
manager | Projektleitung (Ausgabe als Personen-GUID!) |
projectId | Projekt ID |
startdate | Startdatum der Aufgabe/des Projekts |
status |
(System-)Status der Aufgabe 0 (= Nicht begonnen) 1 (= In Arbeit) 2 (= Erledigt) |
title |
Titel des aktuellen Objekts |
today | Gibt aktuelles Datum aus |
type | Projekttyp |
Benutzerdefinierte Felder (Flavors)
Zusätzlich zu oben genannten Standardfeldern werden im Formel-Editor auch alle im Workspace genutzten Flavors zur Verfügung gestellt, um deren Werte in Formeln zu verwenden.
Verfügbare Funktionen und deren Syntax
Insgesamt können derzeit 25 verschiedene Funktionen in Formel-Flavors verwendet werden. Wir unterstützen viele der üblichen Funktionen, die Du aus Excel oder Google Sheets ggf. kennst.
FUNKTION | BESCHREIBUNG | SYNTAX | BEISPIEL |
---|---|---|---|
abs | Gibt den absoluten Wert einer Zahl zurück |
abs(...) |
abs(-10)=10 |
asNumber | Gibt den Wert des Parameters als Zahl auf 2 Nachkommastellen gerundet zurück, sofern möglich | asNumber(number) | asNumber('3.14159265359') = 3.14 |
contains |
Gibt Kann nicht über persist persistiert werden. |
contains(haystack, needle[, ignoreCase]) |
- |
count |
Gibt die Anzahl der Vorkommen der Zeichenfolge |
count(haystack, needle) |
count(haystack, needle) |
date | Gibt den Wert des Parameters als Datum zurück, sofern möglich. | date(date) | date("2021-05-03T15:00Z") = Mon May 03 2021 17:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) |
days |
Gibt die Anzahl Tage, die zwischen den beiden Eingabedaten liegen, zurück. |
days(startdate, duedate) |
days(startdate, duedate) = 5 |
endsWith |
Gibt Kann nicht über persist persistiert werden. |
endsWith(haystack, needle[, ignoreCase]) |
endsWith(haystack, needle[, ignoreCase]) |
flavor | Gibt den Wert des Flavors zurück | flavor(name) | flavor("Einhorn") = 🦄 |
format | Dient der Formartierung eines Wertes innerhalb der Listenansicht. Hierbei muss als erster Parameter der zu formartierende Wert (oder Formel) übergeben werden. Mit Hilfe des 2. Parameters kann ein Prefix, mit dem 3. Parameter ein Suffix festgelegt werden. Der letzte Parameter dient der Färbung des Textinhalts | format(expression, prefix, suffix, color) | format(cost, "Kosten: ", " $", "red") |
if | Dient der Definition einer Bedingung |
if(condition, valueTrue, valueFalse) |
|
indexOf |
Gibt zurück, an welcher Stelle die Zeichenfolge Kann nicht über persist persistiert werden. |
indexOf(haystack,needle[, index]) |
indexOf("Lieber Elefant,Einhorn oder Pegasus?","E") = 7
|
length |
Gibt die Länge der übergebenen Zeichenfolge zurück. Kann nicht über persist persistiert werden. |
length(string) |
|
lower |
Gibt die Zeichenfolge in Kleinbuchstaben umgewandelt zurück. Kann nicht über persist persistiert werden. |
lower(string) |
|
persist | Persistiert ein Feld für die Berechnung außerhalb der Aufgabenliste. Muss um die eigentliche Formel herum geschrieben werden, und muss die erste aufgerufene Funktion in einer Formel sein. | persist(...) | |
projectFlavor |
Gibt den Wert des Flavors vom Projekt zurück |
projectFlavor(...) |
projectFlavor("Einhorn") = 🦄 |
relation |
Gibt den Wert eines Relation-Flavors zurück. Der Parameter Ist der Kann nicht über persist persistiert werden. |
relation(name[, index]) |
|
segment |
Zerlegt die Zeichenfolge |
segment(string, separator[, index]) |
segment("Ich finde Einhörner toll."," ",2) = "Einhörner" |
sort |
Gibt die sortierte Liste, die in der Zeichenfolge |
sort(list, separator[, direction]) |
sort("B,C,A",",") = "A,B,C" |
startsWith |
Gibt Kann nicht über persist persistiert werden. |
startsWith(haystack, needle[, ignoreCase]) |
|
subString |
Gibt die Zeichenfolge zwischen Kann nicht über persist persistiert werden. |
subString(string, start[, end])
|
subString("Ein Eis bitte",4,7) = "Eis" |
sumAll |
|
sumAll('expression', includeSubtasks) |
|
sumFolder |
|
sumFolder('expression', includeSubtasks) |
|
sumSubtask |
|
sumSubtask('expression') |
|
trim |
Gibt die übergebene Zeichenfolge zurück, nach dem alle Leerzeichen am Anfang und Ende entfernt wurden. Als Leerzeichen zählen verschiedene Leerzeichen (z.B. normale Leerzeichen oder Tabulator) sowie alle einen Zeilenumbruch einleitenden Zeichen. |
trim(string) |
|
year |
Gibt das Jahr eines angegebenen Datums aus |
year(...) |
year("2021/06/21") = 2021 |
Operatoren
Operatoren ermöglichen Berechnungen, Vergleiche und logische Verknüpfungen innerhalb von Formeln. Sie können in Kombination mit Feldern, Werten und anderen Funktionen verwendet werden, um dynamische Berechnungen und Bedingungen zu erstellen.
Operator | Beschreibung | Beispiel |
* | Multiplizieren |
5 * 3 = 15 |
/ | Teilen |
10 / 2 = 5 |
+ | Addieren |
7 + 3 = 10 |
- | Subtrahieren |
9 - 4 = 5 |
&& | Logisches UND |
if(5 > 3 && 2 > 1, "true", "false") = "true" |
|| | Logisches ODER |
if(5 > 3 || 1 > 2, "true", "false") = "true" |
== | Ist gleich |
if(5 == 5, "gleich", "ungleich") = "gleich" |
!= | Ist ungleich |
if(5 != 3, "wahr", "falsch") = "wahr" |
> | Ist größer |
if(5 > 3, "wahr", "falsch") = "wahr" |
< | Ist kleiner |
if(2 < 5, "wahr", "falsch") = "wahr" |
>= | Größer gleich |
if(5 >= 5, "wahr", "falsch") = "wahr" |
<= | Kleiner gleich |
if(3 <= 5, "wahr", "falsch") = "wahr" |
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.