Überblick ü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 Überblick über den Textmodus.
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.
Zwischen den beiden Syntax-Varianten gibt es folgende Unterschiede:
Beispiel:
-
In einem benutzerdefinierten Feld in einem benutzerdefinierten Formular für Aufgaben verwenden Sie Folgendes, 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 verwenden Sie Folgendes, um einem Aufgabenbericht eine benutzerdefinierte Spalte „Projektname“ hinzuzufügen:
valuefield=project:nameOder
valueexpression={project}.{name}note tip TIP Die gleiche Syntax gilt für alle Reporting-Elemente im Textmodus, in denen berechnete Ausdrücke verwendet werden: Ansichten, Filter, Gruppierungen, Prompts.
Weitere Informationen zur Syntax, die Sie in einer berechneten benutzerdefinierten Spalte verwenden müssen, finden Sie unter Überblick ü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 einer 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 von berechneten benutzerdefinierten Feldern im Vergleich zu berechneten benutzerdefinierten 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:
Fügt dem Datum die Anzahl der Tage hinzu. Der Zahlenwert kann Teiltage enthalten. Mit 1,5 werden dem Datum beispielsweise anderthalb Tage hinzugefügt.
Der Ausdruck wird wie folgt formatiert:
ADDDAYS(date, number)
Fügt dem Datum die Anzahl der Wochentage hinzu. Dieser Ausdruck fügt dem Datum nur ganze Ganzzahlwerte hinzu, die abgerundet werden.
Der Ausdruck wird wie folgt formatiert:
ADDWEEKDAYS(date, number)
Fügt dem Datum die Anzahl der Monate hinzu und wird wie folgt formatiert:
ADDMONTHS(date, number)
Fügt dem Datum die Anzahl der Jahre hinzu und wird wie folgt formatiert:
ADDYEARS(date, number)
Fügt dem Datum die Anzahl der Stunden hinzu und wird wie folgt formatiert:
ADDHOUR(date, number)
Hinweis: Dieser Ausdruck wird in Workfront-Planung nicht unterstützt.
Löscht den Zeitanteil eines Datums und wird wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
CLEARTIME({entryDate})
Konvertiert eine Zeichenfolge in ein Datum und wird 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 wird wie folgt formatiert:
DATEDIFF(date1, date2)
Gibt den Wochentag für das angegebene Datum als eine Zahl zwischen 1 und 31 zurück.
Der Ausdruck wird wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYOFMONTH({entryDate})
Gibt den Wochentag für das angegebene Datum als eine Zahl zwischen 1 (Sonntag) und 7 (Samstag) zurück.
Der Ausdruck wird wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYOFWEEK({entryDate})
Gibt die Gesamtzahl der Tage im Monat des Datums als Zahl zurück und wird wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
DAYSINMONTH({entryDate})
Gibt die Gesamtzahl der Wochentage zwischen dem Datum und dem Ende der Woche oder dem Ende des Monats zurück, je nachdem, was zuerst erreicht wird. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
Der Ausdruck wird wie folgt formatiert:
DAYSINSPLITWEEK({entryDate})
Gibt die Gesamtzahl der Tage im Jahr des Datums als Zahl zurück und wird 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 wird wie folgt formatiert:
DMAX(date1, date2, ...)
Gibt das früheste Datum in der Liste zurück und wird wie folgt formatiert:
DMIN(date1, date2, ...)
Gibt die Stunde des Datums als eine Zahl zwischen 0 und 23 zurück.
Der Ausdruck wird 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, wie folgt formatiert. 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, wie folgt formatiert. 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, wie folgt formatiert. In diesem Beispiel ist das Datum das Eingabedatum für ein Arbeitsobjekt.
SECOND({entryDate})
Gibt die Anzahl der Wochentage zwischen zwei Datumsangaben 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 wird wie folgt formatiert:
WEEKDAYDIFF(date2, date1)
Gibt die Anzahl geplanter Minuten zwischen den beiden Datumsangaben gemäß dem Standardzeitplan zurück.
Der Ausdruck wird 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, für das einige der folgenden mathematischen Ausdrücke verwendet werden:
Gibt den absoluten Wert der Zahl zurück 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.
ABS({numberOfChildren})
Gibt den Zahlendurchschnitt zurück und wird wie folgt formatiert:
AVERAGE(number1, number2, ...)
Rundet eine Zahl auf die nächste Ganzzahl auf 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})
Dividiert alle Zahlen in der angegebenen Reihenfolge und wird wie folgt formatiert:
DIV(number1, number2, ...)
Rundet eine Zahl auf die nächste Ganzzahl ab 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 wird wie folgt formatiert:
LN({numberOfChildren})
Gibt den Logarithmuswert von „number2“ an Basis „number1“ zurück und wird wie folgt formatiert:
LOG(number1, number2)
Gibt das größte Element in der Liste zurück und wird wie folgt formatiert:
MAX(item1, item2, ...)
Gibt das kleinste Element in der Liste zurück und wird wie folgt formatiert:
MIN(item1, item2, ...)
Konvertiert eine Zeichenfolge in eine Zahl und wird wie folgt formatiert:
NUMBER(string)
Gibt eine Potenz einer Zahl zurück und wird wie folgt formatiert:
POWER(number, power)
Multipliziert alle Zahlen und wird wie folgt formatiert:
PROD(number1, number2, ....)
HINWEIS
Stellen Sie beim Multiplizieren von Feldern, die Stunden enthalten, sicher, dass Sie wissen, ob die Datenbank die Stunden in den 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 Erstellen eines Ausdrucks mit dieser Berechnung möglicherweise die Umrechnung von Minuten oder Sekunden in Stunden berücksichtigen.
Rundet die Zahl auf die angegebene Dezimalstelle auf und wird wie folgt formatiert:
ROUND(number, precision)
Sortiert die Zahlen in aufsteigender Reihenfolge und wird wie folgt formatiert:
SORTASCNUM(number1,number2, ...)
Sortiert die Zahlen in absteigender Reihenfolge und wird wie folgt formatiert:
SORTDESCNUM(number1, number2, ...)
Gibt die Quadratwurzel einer Zahl zurück 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.
SQRT({numberOfChildren})
Subtrahiert alle Zahlen in der angegebenen Reihenfolge und wird wie folgt formatiert:
SUB(number1, number2, ...)
Addiert alle Zahlen und wird wie folgt formatiert:
SUM(number1, number2, ...)
Berechnete benutzerdefinierte Textfelder text-calculated-custom-fields
Sie können ein berechnetes benutzerdefiniertes Feld erstellen, das einen als Text formatierten Wert anzeigt. Dafür werden die folgenden Ausdrücke verwendet:
Konvertiert eine Zeichenfolge in ein Array. Das Trennzeichen kann eine beliebige Zeichenfolge sein.
Der Ausdruck wird wie folgt formatiert:
ARRAY(string1, "delimiter")
Sucht nach einem bestimmten Wert in einer Liste oder einem Array. Wenn der Wert gefunden wird, gibt die Funktion „Wahr“ zurück, andernfalls gibt sie „Falsch“ zurück.
Der Ausdruck wird wie folgt formatiert:
ARRAYCONTAINS(array, value)
Gibt die Anzahl der Elemente im Array zurück und wird wie folgt formatiert:
ARRAYLENGTH(array)
Gibt das Element unter der im Array angegebenen Nummer zurück. Wenn der Index außerhalb des zulässigen Bereichs liegt, wird ein leerer Wert zurückgegeben.
Der Ausdruck wird wie folgt formatiert:
ARRAYELEMENT(array, number)
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 wird 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 wird 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: „-“
- ein Schrägstrich: „/“
- ein Komma: „,“
- ein Wort: „oder“, „und“
Gibt „Wahr“ zurück, wenn die Zeichenfolge „findText“ innerhalb der Zeichenfolge „withinText“ gefunden wird:
CONTAINS(findText, withinText)
Setzt alle Sonderzeichen in der Zeichenfolge in Escape-Zeichen, damit sie in ein URL-Argument übernommen werden können.
Der Ausdruck wird wie folgt formatiert:
ENCODEURL(string)
Gibt formatierten Text zurück. Nur die hier aufgeführten Parameteroptionen sind mit FORMAT zulässig.
Die Farboptionen sind $$POSITIVE, $$INFORMATIVE, $$NEGATIVE, $$NOTICE und die anderen Formatierungsoptionen sind $$BOLD, $$ITALIC, $$UNDERLINE. Es ist nur eine Farboption zusammen mit bis zu drei anderen Formatierungsoptionen zulässig. Wenn keine Farboption angegeben wird, wird die Standardfarbe des Systems angewendet.
Der Ausdruck wird wie folgt formatiert:
FORMAT($$POSITIVE, $$BOLD, $$ITALIC)
Hinweis: Dieser Ausdruck wird in Workfront-Planung nicht unterstützt.
Wertet eine von Ihnen angegebene Bedingung aus und gibt den Wert von „trueExpression“ zurück, wenn er „wahr“ ist, oder den Wert von „falseExpression“, wenn er „falsch“ ist.
Der Ausdruck wird wie folgt formatiert:
IF(condition, trueExpression, falseExpression)
Sie können beispielsweise zwei verschiedene Datumsfelder und anschließend ein Ergebnis des Typs „Wahr/Falsch“ 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 zeige in diesem Feld die Wörter „Off Track“ an; andernfalls zeige die Wörter „On Track“ an.
Wenn Sie die Ausdrücke des Typs „wahr“ oder „falsch“ 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 Überblick über „IF“-Anweisungen.
Ermöglicht die Suche nach einem bestimmten Wert in einer Zeichenfolge mit möglichen Werten. 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 wird wie folgt formatiert:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Sie können beispielsweise einen bestimmten Projektbesitzer bzw. eine bestimmte Projektbesitzerin suchen und diese Projekte mit einem bestimmten Tag in einer Projektansicht versehen:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
In der Alltagssprache bedeutet diese Aussage: Wenn die Projektbesitzerin bzw. der Projektbesitzer Jennifer Campbell oder Rick Kuvec ist, kennzeichne dieses Projekt mit „Marketing-Team“, andernfalls kennzeichne es als „Andere Teams“.
Wenn Sie die Ausdrücke des Typs „wahr“ oder „falsch“ 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 „wahr“ zurück, wenn der Wert einem der angegebenen Werte entspricht; andernfalls gibt der Ausdruck „falsch“ zurück.
Der Ausdruck wird wie folgt formatiert:
IN(value, value1[, value2...])
Gibt „wahr“ zurück, wenn der Wert null oder leer ist; andernfalls gibt der Ausdruck „falsch“ zurück.
Der Ausdruck wird wie folgt formatiert:
ISBLANK(value)
Gibt eine festgelegte Anzahl von Zeichen zurück, die sich links von einer Zeichenfolge befinden, und wird wie folgt formatiert:
LEFT(string, length)
Gibt die Länge einer Zeichenfolge zurück und wird wie folgt formatiert:
LEN(string)
Gibt die Zeichenfolge in Kleinbuchstaben zurück und wird wie folgt formatiert:
LOWER(string)
Konvertiert die Eingabezeichenfolge in PascalCase, indem der erste Buchstabe eines jeden Wortes großgeschrieben wird und alle Leerzeichen entfernt werden.
Der Ausdruck wird wie folgt formatiert:
PASCAL(string)
Zum Beispiel wird „hello world“ zu „HelloWorld“
Entfernt diakritische Zeichen aus allen akzentuierten Zeichen in der Eingabezeichenfolge.
Der Ausdruck wird wie folgt formatiert:
REMOVEACCENTS(string)
Zum Beispiel wird „Héllo wörld with àccénts“ zu „Hello world with accents“.
Ersetzt alle Vorkommen von „string2“ durch „string3“ in „string1“.
Der Ausdruck wird wie folgt formatiert:
REPLACE(string1, string2, string3)
Ersetzt die Übereinstimmungen des angegebenen Musters durch die Ersatzzeichenfolge
Der Ausdruck wird wie folgt formatiert:
REPLACEPATTERN (string, pattern, replacement string)
Beispielsweise erzeugt REPLACEPATTERN("foo123bar", "\d+", "_") die Zeichenfolge „foo_bar“.
Gibt eine festgelegte Anzahl von Zeichen zurück, die sich rechts von einer Zeichenfolge befinden, und wird 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 wird wie folgt formatiert:
SEARCH(findText, withinText, start)
Sortiert die Array-Elemente in aufsteigender Reihenfolge und konvertiert sie in den Typ des ersten Elements.
Der Ausdruck wird wie folgt formatiert:
SORTASCARRAY(array)
Beispielsweise wird ["-12.6", -13.0] zu ["-12.6", "-13"].
Hinweis: Dieser Ausdruck wird in Workfront-Planung nicht unterstützt.
Sortiert die Array-Elemente in absteigender Reihenfolge und wandelt sie in den Typ des ersten Elements um.
Der Ausdruck wird wie folgt formatiert:
SORTDESCARRAY(array)
Beispielsweise wird ["-12.6", -13.0] zu ["-13", "-12.6"].
Hinweis: Dieser Ausdruck wird in Workfront-Planung nicht unterstützt.
Wandelt eine Zahl in eine Zeichenfolge um und wird folgt formatiert:
STRING(number)
Sortiert eine Liste mit Zeichenfolgen in aufsteigender Reihenfolge und wird wie folgt formatiert:
SORTASCSTRING(string1, string2, ...)
Sortiert eine Liste mit Zeichenfolgen in absteigender Reihenfolge und wird wie folgt formatiert:
SORTDESCSTRING(string1, string2, ...)
Gibt Zeichen einer Zeichenfolge basierend auf dem angegebenen Start- und Endindex zurück und wird wie folgt formatiert:
SUBSTR({string}, number of start position, number of end position)
Wertet den Ausdruck anhand einer Liste von Werten aus und gibt das Ergebnis zurück, das dem ersten übereinstimmenden Wert entspricht.
Der Ausdruck wird die folgt formatiert:
SWITCH(expression, value1, result1, [value2, result2], ...)
Dieser Ausdruck wird in Workfront-Planung nicht unterstützt.
Entfernt Leerzeichen vom Anfang und Ende einer Zeichenfolge und wird wie folgt formatiert:
TRIM(string)
Gibt eine Zeichenfolge in Großbuchstaben zurück und wird wie folgt formatiert:
UPPER(string)