Got it!! Appreciate the nudge in the right direction. My suspicion was the mismatched formats as well, and I think that was it. I made some modifications and the final expression is: valueexpression=CONCAT(LEFT(PROD(100,(DIV(({actualWorkRequired}/60),({workRequired}/60)))), 4), "%") valueformat=compound This gives me the % of actual hours logged vs. the planned hours on a project. Couple that with a little formatting to highlight when we go over budget on our hours and we got ourselves a legit looking report! ‚òª Full text looks like this if anybody is interested.... descriptionkey=Difference in hours between scoped and logged hours. displayname=Overage styledef.case.0.comparison.icon=false styledef.case.0.comparison.leftmethod=actualWorkRequired styledef.case.0.comparison.lefttext=actualWorkRequired styledef.case.0.comparison.operator=gt styledef.case.0.comparison.operatortype=compound styledef.case.0.comparison.rightmethod=workRequired styledef.case.0.comparison.righttext=FIELD:workRequired styledef.case.0.comparison.trueproperty.0.name=bgcolor styledef.case.0.comparison.trueproperty.0.value=eac6c9 styledef.case.0.comparison.truetext= textmode=true usewidths=true valueexpression=CONCAT(LEFT(PROD(100,(DIV(({actualWorkRequired}/60),({workRequired}/60)))), 4), "%") valueformat=compound width=100 Thanks again! Brandon Pritchard System Administrator iNHouse Marketing - Nationwide pritcb1@nationwide.com