2016-12-22 113 views
0

我在Workfront中設置了儀表板。我想創建一個自定義視圖,我稱之爲「Est差異」,在任務級別,它將比較完成任務計劃完成時間(workRequired)和實際完成時間(actualWorkRequired)。換句話說,我們計劃了10個小時,但它花了15個,所以顯示的值應該是+ 50%。workfront-api - 自定義視圖

計算是計劃小時數(減)實際小時數(除以)計劃小時數。我想出了看法如下代碼:

displayname=Est Variance 
linkedname=direct 
namekey=Est Variance 
querysort=actualWork 
shortview=true 
textmode=true 
valueexpression=ROUND(SUB({actualWorkRequired},{workRequired}))/({workRequired})*100 
valuefield=actualWorkRequired 
valueformat=compound 
viewalias=actualworkrequired 

...返回正確的值,但我試圖做如下修改:

  1. CONCAT一個「%」後值
  2. 四捨五入到最接近的整數
  3. 添加將以紅色顯示任何正值和以綠色顯示任何負值的規則。
  4. 對於返回「0」(計劃小時數=實際小時數)的任務,不顯示任何內容。

回答

0

1)CONCAT一個 「%」 的值

2.)取整到最接近的整數

設置valueformat=doubleAsPercentRounded將實現兩個,所以簡化valueexpression到後是

valueexpression=SUB({actualWorkRequired},{workRequired})/{workRequired}

3.)添加將以紅色顯示任何正值的規則,以及以綠色顯示任何負值。

您可以使用conditional formatting根據其值對結果着色。 即

styledef.case.0.comparison.icon=false    // show the value instead of the icon 
styledef.case.0.comparison.leftmethod=Est Variance // column name 
styledef.case.0.comparison.lefttext=Est Variance // column name 
styledef.case.0.comparison.operator=lt    // less than operator 
styledef.case.0.comparison.operatortype=double  // data type 
styledef.case.0.comparison.righttext=0    // target value 
styledef.case.0.comparison.trueproperty.0.name=textcolor // tranform on true 
styledef.case.0.comparison.trueproperty.0.value=03a219 // green 
styledef.case.0.comparison.truetext=    // ignore 

4.)爲返回 「0」(計劃小時=實際小時),顯示沒有任何任務。

最後在valueexpression簡單IF statement可以使值是空字符串時則結果爲0

IF(條件,trueStatement,falseStatement)

valueexpression=IF({actualWorkRequired} = {workRequired}, "", SUB({actualWorkRequired},{workRequired})/{workRequired}

良好運氣!