You can use the transform wizard in the Script Editor to help you get rid of the the rows in the report you do not want, it may take some trial and error to get it right, but that is likely the best way to go at that part of things. I am including a design blog link below for the cross-table piece, which I think you will also need.
To help users find verified answers, please do not forget to use the "Accept as Solution" button on any post(s) that helped you resolve your problem or question. I now work a compressed schedule, Tuesday, Wednesday and Thursday, so those will be the days I will reply to any follow-up posts.
If your data is always in that format, try my below scripts:
tblTest: LOAD @1 as content FROM [..\Test.txt] (txt, codepage is 28591, no labels, delimiter is '\t', msq);
tempHeader: LOAD trim(SubField(content,':',2)) as Product,RowNo() as key Resident tblTest where wildmatch(content,'Prod*')=1;
tempContent: LOAD content as newContent,RowNo() as key1 Resident tblTest where wildmatch(content,'Prod*')=0 and WildMatch(content,'Acc*')=0;
NewContent: LOAD trim(SubField(newContent,' ',1)) as Account, Trim(SubField(newContent,' ',-1)) as Date, Trim(SubField(trim(SubField(newContent,'$',1)),' ',-1))&'$' as Amount, key1 as key Resident tempContent;
Left Join(tempHeader) LOAD Product Resident tempHeader;
DROP Table tempContent; DROP Table tempHeader; DROP Table tblTest;