One way would be to add an unlinked subreport to the group footer than contains all Products. Then in the main report, create two formulas:
//{@reset} to be placed in the group header:
whileprintingrecords;
shared stringvar prodID := "";
//{@accum} to be placed in the detail section:
whileprintingrecords;
shared stringvar prodID;
if instr(prodID,totext({Product.Product ID},"000000")) = 0 then
prodID := prodID + totext({Product.Product ID},"000000") + ", ";
In the subreport you would have the product ID and product name displayed. Then go to the subreport section expert->details->suppress->x+2 and enter:
whileprintingrecords;
shared stringvar prodID;
instr(prodID,totext({Product.Product ID},"000000")) > 0
This wouldn't work in 8.5 or lower, because you would hit the 255-character limit for the accumulation formula, but in higher versions this should work. I don't have access to my CR 11.0 right now, but I'm assuming that the Xtreme database has products with up to 6 digits--otherwise you can alter the formatting accordingly.
-LB