I want to create a letter that can be sent via email or saved as PDF (or in the worst case exported as csv). The data for the letter comes from the following related objects:

The important object is Session. You enter the sessions the Partner has, with Date from ... to (one day would mean entering the same date twice) and Topic. Topic has a dropdown with three topics z1, z2, z3. There will be many Session items for one Partner.
I want to create a letter that displays the Consultant and his Principal in the header, the Partner in the subject and the details of all related Session entries as conten. The letter should hence look like this:

Unfortunately, I cannot create this via a joined-report, as I will always get all related information in one long line.
How would you solve this problem?