View Actual Hours over Planned Hours in a task view

To apply this view:

  1. Go to a list of tasks.

  2. From the View drop-down menu, select New View.

  3. In the Column Preview area, eliminate all columns except for one.

  4. Click the header of the remaining column, then click Switch to Text Mode.

  5. Mouse over the text mode area, and click Edit Text Mode.

  6. Remove the text you find in the text mode box, and replace it with the following code:

    column.0.descriptionkey=name
    column.0.link.linkproperty.0.name=ID
    column.0.link.linkproperty.0.valuefield=ID
    column.0.link.linkproperty.0.valueformat=int
    column.0.link.lookup=link.view
    column.0.link.valuefield=objCode
    column.0.link.valueformat=val
    column.0.linkedname=direct
    column.0.listsort=string(name)
    column.0.namekey=name.abbr
    column.0.querysort=name
    column.0.shortview=false
    column.0.stretch=100
    column.0.valuefield=name
    column.0.valueformat=HTML
    column.0.width=150
    column.1.viewalias=assignments
    column.1.displayname=
    column.1.linkedname=direct
    column.1.namekey=assignments
    column.1.valuefield=assignmentsListString
    column.1.valueformat=HTML
    column.1.tile.name=component.assignmentslist
    column.2.displayname=Actual/ Planned Hours
    column.2.linkedname=direct
    column.2.namekey=actualworkrequired
    column.2.querysort=actualWork
    column.2.textmode=true
    column.2.valueexpression=CONCAT({actualWorkRequired}/60,' / ',{workRequired}/60)
    column.2.valuefield=actualWorkRequired
    column.2.valueformat=compound
    column.2.viewalias=actualworkrequired
    column.3.aggregator.function=SUM
    column.3.aggregator.valueexpression=SUB({actualWork}, {workRequired})
    column.3.aggregator.valueformat=compound
    column.3.displayname=Hours Variance
    column.3.linkedname=direct
    column.3.textmode=true
    column.3.valueexpression=SUB({actualWork}, {workRequired})/60
    column.3.valueformat=customNumberAsString
    
  7. Click Done, then Save View.