What you can do which might be easier is nesting tables:
- Create a dataset that has
project
andproject_task
joined - Create a table and set projID as the row group but do not add it in as text visible on the table for now
- Add a row inside group and add
ProjID
into the new data cell created or you can do the various bits of text concatentation via an expression here - Drop another table into the cell below the
ProjID
- Fill this table with the task values
- Delete excess cells as appropiate and format
This will generate an outer grouping for each project that can have page breaks etc after, whilst allowing you to generate a nice table of project tasks for each one.