Have you tried using Planner to see the data you need? Not sure if this would work for your needs.

I also use a report that pulls in planned and actual hours into an assignment report using text mode so it can't be shown in a matrix or chart view but the summary view gives a decent look to it. Grouped by user and project.

Text Mode for Actual Hours:
aggregator.displayformat=minutesAsHoursString
aggregator.function=SUM
aggregator.namekey=Actual Hours
aggregator.valuefield=actualWorkCompleted
aggregator.valueformat=compound
displayname=Actual Hours
linkedname=direct
namekey=actualWorkCompleted
querysort=actualWorkCompleted
shortview=false stretch=100
textmode=true
valuefield=actualWorkCompleted
valueformat=compound
viewalias=actualWorkCompleted
width=100
Text Mode for Planned Hours:
aggregator.displayformat=minutesAsHoursString
aggregator.function=SUM
aggregator.namekey=workRequired
aggregator.valuefield=workRequired
aggregator.valueformat=compound
linkedname=direct
namekey=workRequired
querysort=workRequired
textmode=false
valuefield=workRequired
valueformat=compound
viewalias=workrequired