it would help to know more specifics on what you've tried and how it has failed you. I can run through the whole process and number the points where you might have run into trouble.
Generically speaking, in my mind, this would be either a task or assignment report [0] where your user has been assigned to the task or work item -- and the planned hours would be "summarized by" Sum [1]. From here though, you can only group "up" so far (these type of reports might only let you group by project and not portfolio/program)[2]. (Although you can employ textmode we often don't because this doesn't allow for charts to work [3])
Many of us start by employing a set of standard calculated fields to bring the information "down" (standard meaning we make sure they are on every single project custom form as a rule). The calculated field/s on the project custom form will report on which portfolio and program it's in, and then this calculated field is what you group by, on any report that doesn't allow you to go "up" past the project.
From here I only know of 2 charts that will allow for percentages -- pie charts which would allow you to display by portfolio, and grouped bar/column charts, which if you select the "stacked to 100%" option would allow you to display by portfolio and program.
I don't think a user report would allow you to do as much.