It would be helpful to see the DB. It's hard to tell how everything is set up based on your description. But like most things, it's probably something simple that was overlooked. :)
What are the steps you do to "run a report'? I would think your last step to that process should be a sort records step.
It Sounds like you are setting up a report layout based on the trainee table instead of the training courses (the portal's) table.
A List view layout could be set up that lists all courses taken grouped under a Sub summary layout part sub header that shows the trainee's name and other data from that parent table.