You are asking one record to act like many records. Stop trying to make the data structure match the report and make it match the organization of the data. You can process the data before the report and create a temporary cursor to drive the report that is organized any way the report needs it.