Übersicht über berechnete Datenausdrücke
Sie können Datenausdrücke verwenden, um berechnete benutzerdefinierte Felder in Adobe Workfront zu definieren. Berechnete Ausdrücke verbinden vorhandene Workfront-Felder in Anweisungen, die ein neues Feld generieren.
Sie können berechnete Datenausdrücke in folgenden Bereichen verwenden:
-
Ein berechnetes benutzerdefiniertes Feld in einem benutzerdefinierten Formular
Weitere Informationen zum Erstellen berechneter benutzerdefinierter Felder in benutzerdefinierten Formularen in Workfront finden Sie unter Berechnete Felder zu einem Formular hinzufügen.
-
Eine berechnete benutzerdefinierte Spalte in einem Bericht oder einer Liste, wenn Sie den Textmodus verwenden
Weitere Informationen zur Verwendung des Textmodus in Berichten und Ansichten finden Sie unter Textmodus - Übersicht.
Syntax von berechneten benutzerdefinierten Feldern im Vergleich zu berechneten benutzerdefinierten Spalten
Die von Ihnen verwendeten Funktionen sind zwar identisch, die Syntax zum Erstellen eines Ausdrucks in einem berechneten benutzerdefinierten Feld kann sich jedoch von der Syntax zum Erstellen einer berechneten benutzerdefinierten Spalte unterscheiden.
Die Unterschiede zwischen den beiden Syntaxen sind:
Beispiel:
-
In einem benutzerdefinierten Feld würden Sie in einem benutzerdefinierten Formular für Aufgaben den Namen des übergeordneten Projekts der Aufgabe generieren, an das das benutzerdefinierte Formular angehängt ist:
{project}.{name}
-
In einer benutzerdefinierten Spalte in einem Bericht können Sie wie folgt eine benutzerdefinierte Spalte für den Projektnamen zu einem Aufgabenbericht hinzufügen:
valuefield=project:name
Oder
valueexpression={project}.{name}
note tip TIP Dieselbe Syntax gilt für alle Berichterstellungselemente im Textmodus, in denen berechnete Ausdrücke verwendet werden: Ansichten, Filter, Gruppierungen, Eingabeaufforderungen.
Weitere Informationen zur Syntax, die Sie in einer berechneten benutzerdefinierten Spalte verwenden müssen, finden Sie unter Textmodus - Übersicht.
Sie können Datenausdrücke verwenden
In den folgenden Listen werden die verfügbaren Ausdrücke definiert, die Sie verwenden können, wenn Sie in Workfront einen der drei Typen berechneter benutzerdefinierter Felder erstellen:
Sie können die unten aufgeführten Ausdrücke verwenden, um berechnete benutzerdefinierte Spalten zu erstellen. Sie müssen jedoch die richtige Syntax für eine berechnete benutzerdefinierte Spalte verwenden, wie im Abschnitt Syntax berechneter benutzerdefinierter Felder vs. berechneter benutzerdefinierter Spalten in diesem Artikel beschrieben.
Benutzerdefinierte Felder für Datum und Uhrzeit mit Datum und Uhrzeit date-time-calculated-custom-fields
Sie können ein benutzerdefiniertes Datums- oder Uhrzeitfeld mithilfe der folgenden Ausdrücke erstellen:
Fügt die Anzahl der Tage zum Datum hinzu. Der Zahlenwert kann Teiltage enthalten. Beispielsweise fügt 1.5 dem Datum anderthalb Tage hinzu.
Der Ausdruck ist wie folgt formatiert:
ADDDAYS(date, number)
Fügt die Anzahl der Wochentage zum Datum hinzu. Dieser Ausdruck fügt nur ganze ganzzahlige Werte zum Datum hinzu und rundet es ab.
Der Ausdruck ist wie folgt formatiert:
ADDWEEKDAYS(date, number)
Fügt die Anzahl der Monate zum Datum hinzu und ist wie folgt formatiert:
ADDMONTHS(date, number)
Fügt die Anzahl der Jahre zum Datum hinzu und ist wie folgt formatiert:
ADDYEARS(date, number)
Löscht den Zeitabschnitt eines Datums und ist wie folgt formatiert. In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
CLEARTIME({entryDate})
Konvertiert eine Zeichenfolge in ein Datum und ist wie folgt formatiert:
DATE(string)
Gibt die Anzahl der Tage zwischen den beiden Daten unter Berücksichtigung des Start- und Endtages des ausgewählten Zeitraums sowie der Zeitstempel dieser Tage zurück. Wenn die Startzeit des Startdatums beispielsweise 15 Uhr beträgt, wird der Starttag nicht als vollständiger Tag gezählt.
Der Ausdruck ist wie folgt formatiert:
DATEDIFF(date1, date2)
Gibt den Tag des Monats für das Datum als Zahl zwischen 1 und 31 zurück.
Der Ausdruck ist wie folgt formatiert: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
DAYOFMONTH({entryDate})
Gibt den Wochentag für das Datum als Zahl zwischen 1 (Sonntag) und 7 (Samstag) zurück.
Der Ausdruck ist wie folgt formatiert: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
DAYOFWEEK({entryDate})
Gibt die Gesamtanzahl der Tage im Monat des Datums als Zahl aus und ist wie folgt formatiert: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
DAYSINMONTH({entryDate})
Gibt die Gesamtwochentage zwischen dem Datum und dem Ende der Woche bzw. dem Ende des Monats zurück, je nachdem, was zuerst eintritt. In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
Der Ausdruck ist wie folgt formatiert:
DAYSINSPLITWEEK({entryDate})
Gibt die Gesamtanzahl der Tage im Jahr des Datums als Zahl aus und ist wie folgt formatiert: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
DAYSINYEAR({entryDate})
Gibt das neueste Datum in der Liste zurück und ist wie folgt formatiert:
DMAX(date1, date2, ...)
Gibt das früheste Datum in der Liste zurück und ist wie folgt formatiert:
DMIN(date1, date2, ...)
Gibt die Stunde des Datums als Zahl zwischen 0 und 23 zurück.
Der Ausdruck ist wie folgt formatiert: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
HOUR({entryDate})
Gibt die Minute des Datums als Zahl zwischen 0 und 60 zurück, formatiert wie folgt. In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
MINUTE({entryDate})
Gibt den Monat des Datums als Zahl zwischen 1 und 12 zurück, formatiert wie folgt. In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
MONTH({entryDate})
Gibt die Sekunde des Datums als Zahl zwischen 0 und 60 zurück, formatiert wie folgt. In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
SECOND({entryDate})
Gibt die Anzahl der Wochentage zwischen zwei Daten unter Berücksichtigung des Start- und Endtages des ausgewählten Zeitraums sowie der Zeitstempel dieser Tage zurück. Wenn die Startzeit des Startdatums beispielsweise 15 Uhr beträgt, wird der Starttag nicht als voller Tag gezählt.
Der Ausdruck ist wie folgt formatiert:
WEEKDAYDIFF(date2, date1)
Gibt die Anzahl der geplanten Minuten zwischen den Daten gemäß dem Standardzeitplan zurück.
Der Ausdruck ist wie folgt formatiert:
WORKMINUTESDIFF(date1, date2)
Gibt das Jahr des Datums als vierstellige Zahl zurück, die wie folgt formatiert ist: In diesem Beispiel ist das Datum das Datum der Einsendung für ein Arbeitsobjekt.
YEAR({entryDate})
Mathematisch berechnete benutzerdefinierte Felder mathematical-calculated-custom-fields
Sie können ein berechnetes benutzerdefiniertes Feld erstellen, das einige der folgenden mathematischen Ausdrücke verwendet:
Gibt den absoluten Wert der Zahl zurück und ist wie folgt formatiert: In diesem Beispiel wird die Anzahl der Objekte unter dem Objekt verwendet, an das das benutzerdefinierte Formular angehängt ist.
ABS({numberOfChildren})
Gibt den Durchschnittswert der Zahlen zurück und ist wie folgt formatiert:
AVERAGE(number1, number2, ...)
Kürzt die Zahl auf die nächste Ganzzahl und wird wie folgt formatiert: In diesem Beispiel wird die Anzahl der Objekte unter dem Objekt verwendet, an das das benutzerdefinierte Formular angehängt ist.
CEIL({numberOfChildren})
Teilt alle Zahlen in der angegebenen Reihenfolge und ist wie folgt formatiert:
DIV(number1, number2, ...)
Kürzt die Zahl auf die nächste Ganzzahl und wird wie folgt formatiert: In diesem Beispiel wird die Anzahl der Objekte unter dem Objekt verwendet, an das das benutzerdefinierte Formular angehängt ist.
FLOOR({numberOfChildren})
Gibt den natürlichen Logarithmuswert der Zahl zurück und ist wie folgt formatiert:
LN({numberOfChildren})
Gibt den Logarithmuswert von number2 zur Basisnummer 1 zurück und ist wie folgt formatiert:
LOG(number1, number2)
Gibt das größte Element in der Liste zurück und ist wie folgt formatiert:
MAX(item1, item2, ...)
Gibt das kleinste Element in der Liste zurück und ist wie folgt formatiert:
MIN(item1, item2, ...)
Konvertiert eine Zeichenfolge in eine Zahl und ist wie folgt formatiert:
NUMBER(string)
Gibt eine Zahl zurück, die auf einen Strom erhöht wird und wie folgt formatiert ist:
POWER(number, power)
Multipliziert alle Zahlen und ist wie folgt formatiert:
PROD(number1, number2, ....)
NOTIZ
Stellen Sie beim Multiplizieren von Feldern, die Stunden enthalten, sicher, dass Sie verstehen, ob die Datenbank die Stunden in ausgewählten Feldern in Minuten, Stunden oder Sekunden speichert. Wenn die Stunden in Minuten oder Sekunden gespeichert, aber in Stunden auf der Workfront-Oberfläche angezeigt werden, müssen Sie beim Schreiben eines Ausdrucks mithilfe dieser Berechnung möglicherweise die Konvertierung von Minuten oder Sekunden in Stunden berücksichtigen.
Rundet die Zahl auf eine angegebene Dezimalzahl und ist wie folgt formatiert:
ROUND(number, precision)
Bestellt die Zahlen in aufsteigender Reihenfolge und ist wie folgt formatiert:
SORTASCNUM(number1,number2, ...)
Bestellt die Zahlen in absteigender Reihenfolge und ist wie folgt formatiert:
SORTDESCNUM(number1, number2, ...)
Gibt eine Quadratwurzel einer Zahl zurück und ist wie folgt formatiert: In diesem Beispiel wird die Anzahl der Objekte unter dem Objekt verwendet, an das das benutzerdefinierte Formular angehängt ist.
SQRT({numberOfChildren})
Zieht alle Zahlen in der angegebenen Reihenfolge ab und ist wie folgt formatiert:
SUB(number1, number2, ...)
Fügt alle Zahlen hinzu und ist wie folgt formatiert:
SUM(number1, number2, ...)
Benutzerdefinierte Textfelder text-calculated-custom-fields
Sie können ein berechnetes benutzerdefiniertes Feld erstellen, das einen textformatierten Wert anzeigt, indem Sie die folgenden Ausdrücke verwenden:
Wird mit anderen Ausdrücken verwendet, um einen Wert aus einer Liste basierend auf einer Indexnummer auszuwählen.
Eine Indexnummer ist ein Feld oder eine Funktion, das bzw. die einen numerischen Wert zurückgibt (normalerweise in einem bekannten Bereich).
Der Ausdruck ist wie folgt formatiert:
CASE(indexNumber, value1, value2, ...)
Der folgende Ausdruck gibt beispielsweise den Namen des Wochentags zurück, wobei 1=Sonntag, 2=Montag usw. in einer berechneten Spalte enthalten ist:
CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Funktioniert am besten mit anderen Ausdrücken, die eine Zahl zurückgeben, z. B. DAYOFWEEK, DAYOFMONTH und MONTH.
Verkettet die Zeichenfolge und ist wie folgt formatiert:
CONCAT(string1,"separator", string2)
Im Folgenden finden Sie Beispiele für Trennzeichen, die Sie einfügen können:
- ein Leerzeichen: " "
- ein Bindestrich: "-"
- einen Schrägstrich: "/"
- ein Komma: ","
- ein Wort: "or", "and"
Gibt "true"zurück, wenn die Zeichenfolge findText in der Zeichenfolge in WithinText gefunden und wie folgt formatiert wird:
CONTAINS(findText, withinText)
Maskiert alle Sonderzeichen in der Zeichenfolge, damit sie in ein URL-Argument aufgenommen werden können.
Der Ausdruck ist wie folgt formatiert:
ENCODEURL(string)
Wertet eine von Ihnen angegebene Bedingung aus und gibt den Wert von trueExpression (wahr) bzw. den Wert von falseExpression (falsch) zurück.
Der Ausdruck ist wie folgt formatiert:
IF(condition, trueExpression, falseExpression)
Sie können beispielsweise zwei verschiedene Datumsfelder vergleichen, gefolgt von einem True-/False-Ergebnis als Datenzeichenfolge:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
In der alltäglichen Rede bedeutet diese Aussage: "Wenn das geplante Abschlussdatum meines Objekts "größer als"ist, das geplante Abschlussdatum meines gleichen Objekts, zeigen Sie in diesem Feld die Wörter "Off Track"an; andernfalls zeigen Sie die Wörter "On Track"an."
Wenn Sie die Ausdrücke "true"und "false"nicht beschriften möchten, müssen Sie eine leere Bezeichnung in Ihre Anweisung einfügen, z. B.:
IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")
Oder
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")
Weitere Informationen zum Erstellen von "IF"-Anweisungen finden Sie unter "IF"-Anweisungen - Übersicht.
Ermöglicht die Suche nach einem bestimmten Wert in einer Zeichenfolge möglicher Werte. Wenn der Wert, den Sie suchen, einem der bereitgestellten Werte entspricht, gibt der Ausdruck "trueExpression"zurück. Andernfalls wird "falseExpression"zurückgegeben.
Der Ausdruck ist wie folgt formatiert:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Sie können beispielsweise einen bestimmten Projekteigentümer finden und diese Projekte mit einem bestimmten Tag in einer Projektansicht markieren:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
In alltäglicher Rede bedeutet diese Aussage: "Wenn der Projektinhaber Jennifer Campbell oder Rick Kuvec ist, markieren Sie dieses Projekt mit "Marketing-Team"; andernfalls markieren Sie es mit "Andere Teams"."
Wenn Sie die Ausdrücke "true"und "false"nicht beschriften möchten, müssen Sie eine leere Bezeichnung in Ihre Anweisung einfügen, z. B.:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")
Oder
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")
Gibt "true"zurück, wenn der Wert einem der angegebenen Werte entspricht; andernfalls gibt der Ausdruck "false"zurück.
Der Ausdruck ist wie folgt formatiert:
IN(value, value1[, value2...])
Gibt "true"zurück, wenn der Wert null oder leer ist. Andernfalls gibt der Ausdruck "false"zurück.
Der Ausdruck ist wie folgt formatiert:
ISBLANK(value)
Gibt eine angegebene Anzahl von Zeichen von der linken Seite einer Zeichenfolge zurück und ist wie folgt formatiert:
LEFT(string, length)
Gibt die Länge einer Zeichenfolge zurück und ist wie folgt formatiert:
LEN(string)
Gibt die Zeichenfolge in Kleinbuchstaben zurück und ist wie folgt formatiert:
LOWER(string)
Ersetzt alle Vorkommen von string2 durch string3 in string1.
Der Ausdruck ist wie folgt formatiert:
REPLACE(string1, string2, string3)
Gibt eine angegebene Anzahl von Zeichen von der rechten Seite einer Zeichenfolge zurück und ist wie folgt formatiert:
RIGHT(string, length)
Gibt den Index des ersten Vorkommens von findText in der Zeichenfolge in der Zeichenfolge inText zurück, beginnend bei der angegebenen Startposition, oder -1, wenn der Text nicht gefunden wird.
Der Ausdruck ist wie folgt formatiert:
SEARCH(findText, withinText, start)
Konvertiert eine Zahl in eine Zeichenfolge und ist wie folgt formatiert:
STRING(number)
Sortiert eine Liste von Zeichenfolgen in aufsteigender Reihenfolge und ist wie folgt formatiert:
SORTASCSTRING(string1, string2, ...)
Sortiert eine Liste von Zeichenfolgen in absteigender Reihenfolge und ist wie folgt formatiert:
SORTDESCSTRING(string1, string2, ...)
Gibt Zeichen einer Zeichenfolge basierend auf dem angegebenen Anfangs- und Endindex zurück und ist wie folgt formatiert:
SUBSTR({string}, number of start position, number of end position)
Entfernt Leerzeichen vom Anfang und Ende einer Zeichenfolge und ist wie folgt formatiert:
TRIM(string)
Gibt eine Zeichenfolge in Großbuchstaben zurück und ist wie folgt formatiert:
UPPER(string)