2016-12-22 167 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}

良好运气!