Hi Sadashiv,
I recommend trying a matrix report. I am pretty confident that this will give you what you want. Group the matrix report by Job Role Name and something like Project Name, unless you want any other more detailed groupings.
Hours from parent tasks will be included if actual hours are logged against the parent, in which case the data is correct (though the users may have logged time in the wrong place, which is another matter).
If you really want to exclude tasks which have not yet been assigned to a resource, then you can set your filter with "Assigned to ID is not blank". However, if you do this then your report will not pick up actual hours (and therefore not match the Project total hours) where someone has logged them on a task which was not assigned to anybody.
Regards, David