Ü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.
Berechnete Datenausdrücke können in folgenden Bereichen verwendet werden:
-
Ein berechnetes benutzerdefiniertes Feld in einem benutzerdefinierten Formular
Weitere Informationen zum Erstellen berechneter benutzerdefinierter Felder in benutzerdefinierten Formularen in Workfront finden Sie unter Hinzufügen berechneter Felder zu einem Formular.
-
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
Obwohl die von Ihnen verwendeten Funktionen identisch sind, kann sich die Syntax zum Erstellen eines Ausdrucks in einem berechneten benutzerdefinierten Feld von der Syntax zum Erstellen einer berechneten benutzerdefinierten Spalte unterscheiden.
Die Unterschiede zwischen den beiden Syntaxen sind:
Beispiel:
-
In einem benutzerdefinierten Feld in einem benutzerdefinierten Formular für Aufgaben würden Sie Folgendes verwenden, um den Namen des übergeordneten Projekts der Aufgabe zu generieren, an das das benutzerdefinierte Formular angehängt ist:
{project}.{name}
-
In einer benutzerdefinierten Spalte in einem Bericht würden Sie Folgendes verwenden, um eine benutzerdefinierte Spalte „Projektname“ zu einem Aufgabenbericht hinzuzufügen:
valuefield=project:name
Oder
valueexpression={project}.{name}
note tip TIP Die gleiche Syntax gilt für alle Berichtselemente 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 Übersicht über den Textmodus.
Datenausdrücke, die Sie verwenden können
In den folgenden Listen werden die verfügbaren Ausdrücke definiert, die Sie beim Erstellen eines der drei verschiedenen Arten von berechneten benutzerdefinierten Feldern in Workfront verwenden können:
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.
Berechnete benutzerdefinierte Felder für Datum und Uhrzeit date-time-calculated-custom-fields
Sie können ein berechnetes benutzerdefiniertes Feld für Datum oder Uhrzeit mithilfe der folgenden Ausdrücke erstellen:
Addiert die Anzahl der Tage zum Datum. Der Zahlenwert kann Teiltage enthalten. Mit 1.5 werden dem Datum beispielsweise anderthalb Tage hinzugefügt.
Der Ausdruck ist wie folgt formatiert:
ADDDAYS(date, number)
Addiert die Anzahl der Wochentage zum Datum. Dieser Ausdruck fügt dem Datum nur ganze Ganzzahlwerte hinzu, die abgerundet werden.
Der Ausdruck ist wie folgt formatiert:
ADDWEEKDAYS(date, number)
Addiert die Anzahl der Monate zum Datum und ist wie folgt formatiert:
ADDMONTHS(date, number)
Addiert die Anzahl der Jahre zum Datum und ist wie folgt formatiert:
ADDYEARS(date, number)
Addiert die Anzahl der Stunden zum Datum und ist wie folgt formatiert:
ADDHOUR(date, number)
Hinweis: Dieser Ausdruck wird in Workfront Planning nicht unterstützt.
Löscht den Zeitabschnitt eines Datums und ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum 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 Datumsangaben zurück, wobei die Anfangs- und Endtage des ausgewählten Zeitraums sowie die Zeitstempel an diesen Tagen berücksichtigt werden. Wenn beispielsweise die Startzeit des Startdatums 15 Uhr ist, wird der Starttag nicht als ganzer Tag gezählt.
Der Ausdruck ist wie folgt formatiert:
DATEDIFF(date1, date2)
Gibt den Tag des Monats für das Datum als eine Zahl zwischen 1 und 31 zurück.
Der Ausdruck ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYOFMONTH({entryDate})
Gibt den Wochentag für das Datum als eine Zahl zwischen 1 (Sonntag) und 7 (Samstag) zurück.
Der Ausdruck ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYOFWEEK({entryDate})
Gibt die Gesamtzahl von Tagen im Monat des Datums als Zahl zurück und ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYSINMONTH({entryDate})
Gibt die Gesamtzahl von Wochentagen zwischen dem Datum und dem Ende der Woche oder des Monats zurück, je nachdem, was zuerst eintritt. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
Der Ausdruck ist wie folgt formatiert:
DAYSINSPLITWEEK({entryDate})
Gibt die Gesamtzahl von Tagen im Jahr des Datums als Zahl zurück und ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYSINYEAR({entryDate})
Gibt das letzte 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 eine Zahl zwischen 0 und 23 zurück.
Der Ausdruck ist wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
HOUR({entryDate})
Gibt die Minute des Datums als eine Zahl zwischen 0 und 60 zurück, die wie folgt formatiert ist. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
MINUTE({entryDate})
Gibt den Monat des Datums als eine Zahl zwischen 1 und 12 zurück, die wie folgt formatiert ist. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
MONTH({entryDate})
Gibt die Sekunde des Datums als eine Zahl zwischen 0 und 60 zurück, die wie folgt formatiert ist. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
SECOND({entryDate})
Gibt die Anzahl der Wochentage zwischen zwei Terminen zurück, wobei der Anfangs- und der Endtag des ausgewählten Zeitraums sowie die Zeitstempel an diesen Tagen berücksichtigt werden. Wenn beispielsweise die Startzeit des Startdatums 15 Uhr ist, wird der Starttag nicht als ganzer Tag gezählt.
Der Ausdruck ist wie folgt formatiert:
WEEKDAYDIFF(date2, date1)
Gibt die Anzahl geplanter Minuten zwischen den Datumsangaben gemäß Standardzeitplan zurück.
Der Ausdruck ist wie folgt formatiert:
WORKMINUTESDIFF(date1, date2)
Gibt das Jahr des Datums als 4-stellige Zahl zurück, wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum 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 Zahlendurchschnitt zurück und ist wie folgt formatiert:
AVERAGE(number1, number2, ...)
Rundet eine Zahl auf die nächste Ganzzahl auf 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.
CEIL({numberOfChildren})
Dividiert alle Zahlen in der angegebenen Reihenfolge und ist wie folgt formatiert:
DIV(number1, number2, ...)
Rundet eine Zahl auf die nächste Ganzzahl herunter 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 Logarithmus der Zahl zurück und ist wie folgt formatiert:
LN({numberOfChildren})
Gibt den Logarithmus der Zahl2 zur Basis der Zahl1 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 Potenz einer Zahl zurück und ist wie folgt formatiert:
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 werden, aber in der Workfront-Benutzeroberfläche in Stunden angezeigt werden, müssen Sie beim Schreiben eines Ausdrucks mit dieser Berechnung möglicherweise die Konvertierung von Minuten oder Sekunden in Stunden berücksichtigen.
Rundet die Zahl auf eine angegebene Dezimalgenauigkeit auf 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 die 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})
Subtrahiert alle Zahlen in der angegebenen Reihenfolge und ist wie folgt formatiert:
SUB(number1, number2, ...)
Addiert alle Zahlen und ist wie folgt formatiert:
SUM(number1, number2, ...)
Berechnete 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:
Konvertiert eine Zeichenfolge in ein Array. Das Trennzeichen kann eine beliebige Zeichenfolge sein.
Der Ausdruck ist wie folgt formatiert:
ARRAY(string1, "delimiter")
Gibt die Anzahl der Elemente im Array zurück und ist wie folgt formatiert:
ARRAYLENGTH(array)
Gibt das Element mit der angegebenen Zahl im Array zurück. Wenn der Index außerhalb des Bereichs liegt, gibt er leer zurück.
Der Ausdruck ist wie folgt formatiert:
ARRAYELEMENT(array, number)
Sortiert die Array-Elemente in aufsteigender Reihenfolge und konvertiert sie in den Typ des ersten Elements.
Der Ausdruck ist wie folgt formatiert:
SORTASCARRAY(array)
Beispielsweise wird ["-12.6“, -13.0] zu ["-12.6“, "-13“].
Hinweis: Dieser Ausdruck wird in Workfront Planning nicht unterstützt.
Sortiert die Array-Elemente in absteigender Reihenfolge und konvertiert sie in den Typ des ersten Elements.
Der Ausdruck ist wie folgt formatiert:
SORTDESCARRAY(array)
Beispielsweise wird ["-12.6“, -13.0] zu ["-13“, "-12.6“].
Hinweis: Dieser Ausdruck wird in Workfront Planning nicht unterstützt.
Wird mit anderen Ausdrücken verwendet, um einen Wert basierend auf einer Indexnummer aus einer Liste auszuwählen.
Eine Indexnummer ist ein Feld oder eine Funktion, die einen numerischen Wert (normalerweise in einem bekannten Bereich) zurückgibt.
Der Ausdruck ist wie folgt formatiert:
CASE(indexNumber, value1, value2, ...)
Beispielsweise gibt der folgende Ausdruck den Namen des Wochentags in einer berechneten Spalte zurück, wobei 1=Sonntag, 2=Montag usw. 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 einschließen können:
- ein Leerzeichen: ""
- Ein Bindestrich: "-"
- Ein Schrägstrich: "/"
- ein Komma: ",“
- Ein Wort: „OR“, „AND“
Gibt „true“ zurück, wenn die Zeichenfolge „findText“ im String „withinText“ gefunden wird und wie folgt formatiert ist:
CONTAINS(findText, withinText)
Setzt alle Sonderzeichen in der Zeichenfolge in Escape-Zeichen, damit sie in ein URL-Argument aufgenommen werden können.
Der Ausdruck ist wie folgt formatiert:
ENCODEURL(string)
Gibt formatierten Text zurück. Die Farboptionen sind $$POSITIVE, $$INFORMATIVE, $$NEGATIVE, $$NOTICE und die anderen Formatierungsoptionen sind $$BOLD, $$ITALIC, $$UNDERLINE. Pro Funktion kann nur eine Farboption zusammen mit bis zu drei anderen Formatierungsoptionen verwendet werden. Wenn keine Farboption festgelegt ist, wird die Standardfarbe des Systems angewendet.
Der Ausdruck ist wie folgt formatiert:
FORMAT($$POSITIVE, $$BOLD, $$ITALIC)
Hinweis: Dieser Ausdruck wird in Workfront Planning nicht unterstützt.
Wertet eine von Ihnen angegebene Bedingung aus und gibt den Wert von „trueExpression“ zurück, wenn „true“ festgelegt ist, oder den Wert von „falseExpression“, wenn „false“ festgelegt ist.
Der Ausdruck ist wie folgt formatiert:
IF(condition, trueExpression, falseExpression)
Sie können beispielsweise zwei verschiedene Datumsfelder und anschließend ein Ergebnis „true/false“ als Datenzeichenfolge vergleichen:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
In der Alltagssprache bedeutet diese Aussage: „Wenn das voraussichtliche Abschlussdatum meines Objekts „größer als“ das geplante Abschlussdatum meines gleichen Objekts ist, dann zeigen Sie in diesem Feld die Wörter „Aus dem Kurs“ an; andernfalls zeigen Sie die Wörter „Auf dem Kurs“ an.“
Wenn Sie die Ausdrücke „true“ oder „false“ nicht kennzeichnen möchten, müssen Sie eine leere Kennzeichnung 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 gesuchte Wert einem der angegebenen Werte entspricht, gibt der Ausdruck den Wert „trueExpression“ zurück. Andernfalls gibt er den Wert „falseExpression“ zurück.
Der Ausdruck ist wie folgt formatiert:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Sie können beispielsweise einen bestimmten Projektbesitzer suchen und diese Projekte mit einem bestimmten Tag in einer Projektansicht markieren:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
In der täglichen Rede bedeutet diese Aussage: „Wenn die Projektbesitzerin 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“ oder „false“ nicht kennzeichnen möchten, müssen Sie eine leere Kennzeichnung 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 auf 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 in Zeichenfolge1 alle Vorkommen von Zeichenfolge2 durch Zeichenfolge3.
Der Ausdruck ist wie folgt formatiert:
REPLACE(string1, string2, string3)
Gibt eine bestimmte Anzahl von Zeichen rechts von einer Zeichenfolge zurück und ist wie folgt formatiert:
RIGHT(string, length)
Gibt den Index des ersten Vorkommens von findText in der Zeichenfolge withinText zurück, beginnend mit der angegebenen Startposition, oder gibt -1 zurück, 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 mit Zeichenfolgen in aufsteigender Reihenfolge und ist wie folgt formatiert:
SORTASCSTRING(string1, string2, ...)
Sortiert eine Liste mit Zeichenfolgen in absteigender Reihenfolge und ist wie folgt formatiert:
SORTDESCSTRING(string1, string2, ...)
Gibt Zeichen einer Zeichenfolge basierend auf dem angegebenen Start- und Endindex zurück und ist wie folgt formatiert:
SUBSTR({string}, number of start position, number of end position)
Wertet den Ausdruck anhand einer Werteliste aus und gibt das Ergebnis zurück, das dem ersten übereinstimmenden Wert entspricht.
Der Ausdruck ist wie folgt formatiert:
SWITCH(expression, value1, result1, [value2, result2], ...)
Dieser Ausdruck wird in Workfront Planning nicht unterstützt.
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)