Mit Berechnungsattributen können Sie logische und mathematische Funktionen hinzufügen, um Werte für Attribute abzuleiten. Sie lassen sich auch in andere berechnete Attribute einbetten, um komplexe Funktionen zu erzielen. Berechnete Attribute sind schreibgeschützt. Sie können nur anhand von Zeitplänen evaluiert werden.
Zeitpläne: Sie können jede beliebige Berechnung hinzufügen. Diese wird unabhängig davon evaluiert, ob sie der Aufgabe explizit zugewiesen wurde oder nicht.
Vorlagen: Sie können kein benutzerdefiniertes Attribut mit ausgewählter Berechnungsoption als Spalten- oder Filterattribut hinzufügen.
Wenn Administratoren in den Attributabschnitten in den Aktionsdialogfeldern Attribute hinzufügen, können diese von Workflowbenutzern angezeigt werden. Administratoren können den Zugriff auf bestimmte Rollen beschränken, indem Sie den Zugriff auf "Nicht anzeigen" setzen. Beispiel: Für das berechnete Attribut XYZ könnte ein Administrator den Zugriff auf Leseberechtigter: Nicht anzeigen
setzen, sodass das Attribut XYZ Benutzern mit der Rolle "Leseberechtigter" nicht angezeigt wird.
Jede Benutzerrolle kann berechnete Attribute als Spalten in Ansichten und Portlets hinzufügen. Sie können auch als filterbare Attribute in den Filtereinstellungen hinzugefügt werden.
So definieren Sie ein Berechnungsattribut:
Sie können die folgenden Berechnungstypen auswählen. Die verfügbaren Typen sind vom Typ des Attributs abhängig (Text, Ganzzahl usw.).
Wert zu Liste zuweisen: Weisen Sie einem Attribut vom Typ "Liste" benutzerdefinierte Werte zu.
Liste zu Wert zuweisen: Weisen Sie benutzerdefinierte Listenwerte den Werten eines anderen Attributs zu. Nur für Attribute des Typs "Liste" verfügbar.
Bedingt: Eine bedingte Berechnung (If-Then-Else)
Skript: Eine skriptgesteuerte Freiform-Berechnung. Nur für Attribute der Typen "Ganzzahl", "Mehrzeiliger Text", "Zahl" und "Text" verfügbar.
In der folgenden Tabelle sind die für jeden Attributtyp verfügbaren Berechnungstypen aufgeführt.
Attributtyp | Wert zu Liste zuweisen | Bedingt | Skript | Liste zu Wert zuweisen |
---|---|---|---|---|
Datum | ||||
Datum/Uhrzeit | ||||
Ganzzahl | X | X | X | |
Liste | X | X | ||
Mehrzeiliger Text | X | X | X | |
Zahl | X | X | X | |
Text | X | X | X | |
True/False | X | |||
Benutzer | ||||
Ja/Nein | X |
Berechnungsdefinition
Mit dem Berechnungstyp Skript können Sie eine Freiform-Berechnungsgleichung eingeben. Sie können Attribut hinzufügen und Funktion hinzufügen verwenden:
Attribut hinzufügen: Wählen Sie ein Attribut aus, und fügen Sie das Attribut in das Feld "Berechnungsdefinition" an der Cursorposition ein. Wenn sich der Cursor in der Mitte eines Wortes oder Attributs befindet, wird das Wort/das Attribut in der Definition ersetzt. Im Skriptformat wird der Name des neuen Attributs in geschweifte Klammern {} gesetzt.
Als einzige Attribute sind Zeitplanattribute verfügbar.
Funktion hinzufügen: Wählen Sie eine Funktion aus, und fügen Sie die Funktion zur Berechnungsdefinition hinzu. Die Funktion wird mit Platzhaltern für jeden Parameter hinzugefügt.
Beispiel: Fügen Sie die Funktion DATE_DIFF in die Berechnungsdefinition ein:
DATE_DIFF(<Date1>, <Date2>, <Type>)
Ersetzen Sie dann die Platzhalter durch Attribute:
DATE_DIFF( {Startdatum}, {Enddatum}, 'DAYS')
Numerische Funktionen und Datumsfunktionen
Absoluter Wert: Gibt den absoluten Wert einer angegebenen Zahl zurück. Wenn eine Zahl kleiner als null ist, wird ein positiver Wert dieser Zahl zurückgegeben. Wenn die angegebene Zahl größer oder gleich null ist, wird die angegebene Zahl zurückgegeben.
ABS(<Number>)
Monat hinzufügen: Gibt einen Datumsversatz um eine angegebene Anzahl von Monaten ab den Startdatum zurück. Das Datum fällt immer in den angegebenen Monatsversatz. Wenn das Startdatum einen Tageswert angibt, der über die Tage in dem Versatzmonat hinausgeht, wird der letzte Tag des Versatzmonats verwendet. Beispiel: EDate (31-Jan-2017, 1) gibt (28-Feb-2017) zurück. Geben Sie bei Monaten die Anzahl von Monaten vor oder nach dem Startdatum ein. Ein positiver Wert für Monate ergibt ein zukünftiges Datum. Ein negativer Wert ergibt ein vergangenes Datum.
ADD_MONTH(<Start Date>, <Months>, <Length>)
Beispiel: ADD_MONTH(DATE(2017, 2, 15) 3)
Datum: Gibt einen Datumswert basierend auf den angegebenen ganzzahligen Werten für Jahr, Monat und Tag zurück.
DATE(<Year>, <Month>, <Day>)
Datumsdifferenz: Gibt die Differenz zwischen zwei Daten in Jahren, Monaten, Tagen, Stunden, Minuten oder Sekunden zurück. Für DATE 1 und DATE 2 können die Werte TODAY und NOW verwendet werden, die das aktuelle Datum (ohne Zeitkomponente) und Datum/Uhrzeit angeben.
DATE_DIFF(<Date1>, <Date2>, <Type>)
Beispiel: DATE_DIFF( {Start Date}, 'TODAY', 'DAYS')
Tag: Gibt den Tageswert eines Datums als Ganzzahl zurück
DAY(<DATE>)
Text extrahieren: Gibt die Teilzeichenfolge innerhalb des Wertes von der angegebenen Position zurück.
SUBSTRING(<Value>, <Location>, <Length>)
Beispiel: SUBSTRING( {Name}, 4, 10)
If/Then/Else: Ermöglicht Ihnen, eine bedingte Berechnung in die Skriptberechnung einzufügen. IF_THEN_ELSE-Berechnungen können auch verschachtelt werden, um Berechnungen des Typs "ELSE IF" zu unterstützen.
IF_THEN_ELSE(<Condition>, <Value1>, <Value2>)
Beispiel: IF_THEN_ELSE( ( {Priority} = 'Low'), 1,IF_THEN_ELSE( ( {Priority} = 'Medium'), 2, IF_THEN_ELSE( ( {Priority} = 'High'), 3, 0)))
Beispiel: IF_THEN_ELSE( ( {Priority} = 'Low'), 'Good' IF_THEN_ELSE( ( {Priority} = 'Medium'), 'Better'. 'Best') )
Instring: Gibt den Index der Teilzeichenfolge innerhalb des Wertes zurück.
INSTRING(<Value1>, <Value to Search>)
Beispiel: INSTRING({Name}, 'a')
Length: Verwendet einen Textwert als Parameter und gibt eine Ganzzahl zurück, die der Anzahl der Zeichen im Text entspricht. Wenn der Wert leer oder null ist, gibt die Berechnung "0" zurück.
Length ({<attribute>})
Beispiel: LENGTH("Value")
gibt 5 zurück, und LENGTH({Name})
gibt die Anzahl der Zeichen im Namen des Objekts zurück.
Verwenden Sie die Berechnung mit SUBSTRING, um die letzten vier Zeichen eines Textwertes zu extrahieren.
SUBSTRING( {MyString}, LENGTH ({MyString}) - 4
Kleinbuchstaben: Gibt den Wert in Kleinbuchstaben zurück.
LOWERCASE(<Value>)
Beispiel: LOWERCASE ({Aufgabencode})
Maximum: Gibt den Höchstwert aus einer Liste mit Attributen zurück. Es kann eine beliebige Anzahl von Parametern vorhanden sein.
MAX <Value1>, <Value2>, <ValueN>)
Beispiel: MAX( {Position von skriptgesteuerter Teilzeichenfolge a}, {Position von skriptgesteuerter Teilzeichenfolge s}, {Position von skriptgesteuerter Teilzeichenfolge t} )
Minimum: Gibt den Mindestwert aus einer Liste mit Attributen zurück. Es kann eine beliebige Anzahl von Parametern vorhanden sein.
MIN (<Value1>, <Value2>, <ValueN>)
Beispiel: MIN( {Position von skriptgesteuerter Teilzeichenfolge a}, {Position von skriptgesteuerter Teilzeichenfolge s}, {Position von skriptgesteuerter Teilzeichenfolge t} )
Monat: Gibt den Monatswert eines Datums als Ganzzahl (1-12) zurück
MONTH (<DATE>)
Potenz: Erhöht eine Zahl um den Exponenten einer anderen Zahl.
POWER(x,y) wobei x=BASE NUMBER und y=EXPONENT
. Dabei können x und y Attribute oder Berechnungen sein, sofern sie numerisch sind.
Beispiel: POWER(3,4)=81
Hinweis:
Brüche reduzieren die Zahl auf deren Root. Beispiel: POWER(27, 1/3) = 3
die Kubikwurzel.
Negative Werte kehren die exponentielle Berechnung um. Beispiel: POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25
.
Gerundet: Gibt den Wert auf die angegebenen Dezimalstellen gerundet zurück.
ROUND <Attribute>, <Decimal Places>)
Beispiel: ROUND( ({Position von skriptgesteuerter Teilzeichenfolge t} / 7), '4')
Textposition: Gibt den Index der Teilzeichenfolge innerhalb des Wertes zurück, angefangen mit 1 als der ersten Position.
INSTRING(<Value>, <Value To Search>)
Beispiel: INSTRING( UPPERCASE( {Name} ), 'TAX' )
Großbuchstaben: Gibt den Wert in Großbuchstaben zurück.
UPPERCASE(<Value>)
Beispiel: UPPERCASE( {Name} )
Jahr: Gibt den Jahreswert eines Datums als Ganzzahl zurück
YEAR (<DATE>)
Berechnungsvalidierung
Die folgenden Validierungsprüfungen werden ausgeführt, wenn Sie die Berechnung speichern:
ob die Syntax der Berechnung stimmt.
ob die in der Berechnung angegebenen Attribute und Funktionen vorhanden sind.
ob die Zuordnung von Parametern zu Funktionen stimmt.
dass keine logischen Schleifen vorliegen.