計算資料運算式的概觀
您可以使用資料運算式,在Adobe Workfront中定義計算的自訂欄位。 計算運算式會連線產生新欄位的陳述式中的現有Workfront欄位。
您可以在下列位置使用計算資料運算式:
-
自訂表單上的計算自訂欄位
如需在Workfront中的自訂表單上建立計算自訂欄位的詳細資訊,請參閱將計算欄位新增至表單。
-
使用文字模式時,報表或清單中的計算自訂欄
如需有關在報表和檢視中使用文字模式的詳細資訊,請參閱文字模式概觀。
計算自訂欄位與計算自訂欄的語法
雖然您使用的函式相同,但在計算自訂欄位中建立運算式的語法可能與建立計算自訂欄的語法不同。
兩種語法之間的差異為:
例如:
-
在自訂欄位中,在任務的自訂表單上,您可以使用以下專案產生附加自訂表單之任務的父專案名稱:
{project}.{name}
-
在報表的自訂欄中,您會使用下列專案,在任務報表中新增「專案名稱」自訂欄:
valuefield=project:name
或
valueexpression={project}.{name}
note tip TIP 相同的語法適用於所有使用計算運算式的文字模式報表元素:檢視、篩選器、群組、提示。
如需有關計算自訂欄中必須使用的語法的詳細資訊,請參閱文字模式概觀。
您可以使用的資料運算式
下列清單定義當您在Workfront中建置3種不同型別的計算自訂欄位之一時,可用的運算式:
您可以使用下面列出的運算式來建置計算出的自訂欄。 不過,您必須使用計算自訂欄的正確語法,如本文中計算自訂欄位與計算自訂欄位語法一節所述。
日期和時間計算自訂欄位 date-time-calculated-custom-fields
您可以使用以下運算式建立日期或時間計算自訂欄位:
新增日期的天數。 數值可包含部分天數。 例如,1.5會新增一個半天至日期。
運算式的格式如下:
ADDDAYS(date, number)
將工作日數新增至日期。 此運算式只會將整數值加到日期,往下舍入。
運算式的格式如下:
ADDWEEKDAYS(date, number)
將月數新增至日期,格式如下:
ADDMONTHS(date, number)
將年份新增至日期,格式如下:
ADDYEARS(date, number)
清除日期的時間部分,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
CLEARTIME({entryDate})
將字串轉換為日期,格式如下:
DATE(string)
傳回兩個日期之間的天數,考量所選期間的開始和結束天數以及這些天的時間戳記。 例如,如果開始日期的開始時間是下午3點,則開始日期不會計算為全天。
運算式的格式如下:
DATEDIFF(date1, date2)
以數字傳回日期的月份,數字介於1到31之間。
運算式的格式如下。 在此範例中,日期是工作物件的「輸入日期」。
DAYOFMONTH({entryDate})
以數字傳回日期是一週中的第幾天,數字介於1 (星期日)和7 (星期六)之間。
運算式的格式如下。 在此範例中,日期是工作物件的「輸入日期」。
DAYOFWEEK({entryDate})
以數字傳回日期所在月份的總天數,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
DAYSINMONTH({entryDate})
傳回該日期和一星期結束之間、或一個月結束之間(視其中哪個日期先到)的工作日總數。 在此範例中,日期是工作物件的「輸入日期」。
運算式的格式如下:
DAYSINSPLITWEEK({entryDate})
以數字傳回日期所在年份的總天數,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
DAYSINYEAR({entryDate})
傳回清單中的最新日期,格式如下:
DMAX(date1, date2, ...)
傳回清單中最早的日期,格式如下:
DMIN(date1, date2, ...)
以0到23之間的數字傳回日期的小時數。
運算式的格式如下。 在此範例中,日期是工作物件的「輸入日期」。
HOUR({entryDate})
以0到60之間的數字傳回日期的分鐘數,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
MINUTE({entryDate})
以1到12之間的數字傳回日期的月份,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
MONTH({entryDate})
以0到60之間的數字傳回日期的秒數,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
SECOND({entryDate})
傳回兩個日期之間的工作日數,考量所選期間的開始和結束天數以及這些天的時間戳記。 例如,如果開始日期的開始時間是下午3點,則開始日期不會計算為全天。
運算式的格式如下:
WEEKDAYDIFF(date2, date1)
根據預設排程,傳回日期之間排程的分鐘數。
運算式的格式如下:
WORKMINUTESDIFF(date1, date2)
以4位數字傳回日期的年份,格式如下。 在此範例中,日期是工作物件的「輸入日期」。
YEAR({entryDate})
數學計算的自訂欄位 mathematical-calculated-custom-fields
您可以建立使用下列部分數學運算式的計算自訂欄位:
傳回數字的絕對值,格式如下。 此範例使用物件下附加自訂表單的物件數目。
ABS({numberOfChildren})
傳回數字的平均值,格式如下:
AVERAGE(number1, number2, ...)
將數字四捨五入到最接近的整數,格式如下。 此範例使用物件下附加自訂表單的物件數目。
CEIL({numberOfChildren})
按照提供的順序除以所有數字,格式如下:
DIV(number1, number2, ...)
將數字下調至最接近的整數,格式如下。 此範例使用物件下附加自訂表單的物件數目。
FLOOR({numberOfChildren})
傳回該數字的自然對數值,格式如下:
LN({numberOfChildren})
傳回number2對數值至基礎number1,格式如下:
LOG(number1, number2)
傳回清單中最大的專案,格式如下:
MAX(item1, item2, ...)
傳回清單中的最小專案,格式如下:
MIN(item1, item2, ...)
將字串轉換為數字,格式如下:
NUMBER(string)
傳回提升為次方的數字,格式如下:
POWER(number, power)
將所有數字相乘,格式如下:
PROD(number1, number2, ....)
附註
將包含時數的欄位相乘時,請確定您瞭解資料庫是否要將所選欄位中的時數儲存為分鐘、小時或秒。 如果時數儲存為分鐘或秒,但在Workfront介面中以時數顯示,使用此計算撰寫運算式時,您可能需要考慮從分鐘或秒到時數的轉換。
將數字四捨五入到指定的精確位數,格式如下:
ROUND(number, precision)
以遞增順序排序數字,格式如下:
SORTASCNUM(number1,number2, ...)
以遞減順序排序數字,格式如下:
SORTDESCNUM(number1, number2, ...)
傳回數字的平方根,格式如下。 此範例使用物件下附加自訂表單的物件數目。
SQRT({numberOfChildren})
依照提供的順序減去所有數字,格式如下:
SUB(number1, number2, ...)
將所有數字相加,格式如下:
SUM(number1, number2, ...)
文字計算自訂欄位 text-calculated-custom-fields
您可以使用下列運算式建立計算自訂欄位,以顯示文字格式的值:
與其他運算式搭配使用,根據索引編號從清單中選擇值。
索引數字是傳回數值(通常在已知範圍內)的欄位或函式。
運算式的格式如下:
CASE(indexNumber, value1, value2, ...)
例如,下列運算式會在計算欄中傳回一週中某天的名稱,其中1=星期日、2=星期一,以此類推:
CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
最適合搭配其他傳回數字的運算式,例如DAYOFWEEK、DAYOFMONTH和MONTH。
串連字串,格式如下:
CONCAT(string1,"separator", string2)
以下是您可以包括的分隔符號範例:
- 空格:「 」
- 破折號:「 — 」
- 斜線: "/"
- 逗號: ","
- 單字:「or」、「and」
如果在withinText字串中找到findText字串且其格式如下,則傳回true:
CONTAINS(findText, withinText)
逸出字串中的任何特殊字元,以便包含在URL引數中。
運算式的格式如下:
ENCODEURL(string)
評估您指定的條件,如果為true,則傳回trueExpression的值;如果為false,則傳回falseExpression的值。
運算式的格式如下:
IF(condition, trueExpression, falseExpression)
例如,您可以比較兩個不同的日期欄位,然後以True/False結果作為資料字串:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
在日常演講中,此陳述表示:「如果物件的預計完成日期大於'相同物件的計畫完成日期,則在此欄位中顯示'Off Track'字詞;否則,顯示'On Track'字詞。」
如果您不想要標示true或false運算式,則必須在陳述式中插入空白標籤,例如:
IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")
或
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")
如需有關建立「IF」陳述式的詳細資訊,請參閱「IF」陳述式概述。
可讓您在可能值的字串中尋找特定值。 如果您要尋找的值等於其中一個提供的值,則運算式會傳回trueExpression;否則,會傳回falseExpression。
運算式的格式如下:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
例如,您可以尋找特定的專案所有者,並在專案檢視中以指定的標籤標籤標籤這些專案:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
在日常演講中,此陳述表示:「如果專案所有者是Jennifer Campbell或Rick Kuvec,請使用「行銷團隊」標籤此專案;否則,請使用「其他團隊」標籤此專案。」
如果您不想要標示true或false運算式,則必須在陳述式中插入空白標籤,例如:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")
或
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")
如果值等於提供的值之一,則傳回true;否則,運算式會傳回false。
運算式的格式如下:
IN(value, value1[, value2...])
如果值為空值或空白,則傳回true;否則,運算式會傳回false。
運算式的格式如下:
ISBLANK(value)
傳回字串左側的指定字元數,格式如下:
LEFT(string, length)
傳回字串長度,格式如下:
LEN(string)
傳回小寫的字串,格式如下:
LOWER(string)
在string1中,以string3取代所有出現的string2。
運算式的格式如下:
REPLACE(string1, string2, string3)
從字串右側傳回指定的字元數,格式如下:
RIGHT(string, length)
傳回withinText字串中第一個findText事件的索引(從給定的起始位置開始),或如果找不到文字,則傳回–1。
運算式的格式如下:
SEARCH(findText, withinText, start)
將數字轉換為字串,格式如下:
STRING(number)
以遞增順序來排列字串清單,格式如下:
SORTASCSTRING(string1, string2, ...)
以遞減順序來排列字串清單,格式如下:
SORTDESCSTRING(string1, string2, ...)
根據指定的開始和結束索引,傳回字串的字元,格式如下:
SUBSTR({string}, number of start position, number of end position)
移除字串開頭和結尾的空格,格式如下:
TRIM(string)
傳回大寫的字串,格式如下:
UPPER(string)