ok, now that you have solved the grouping issue, my solution can now apply. In the group footer for Entity2 you can put the formula that looks like:
shared stringvar displayed;
if instr(displayed, "|" + {table.Entity2} + "|") = 0 then
displayed := displayed + "|" + {table.Entity2} + "|";
"" //hides displayed from being shown
in the section expert for all the sections that you want to hide (which looks like 2 group headers a group footer and the details section) in the x-1 button for suppress add a formula like:
instr(displayed, "|" + {table.Entity} + "|")
the idea is you print the first sections, then keep track that you have displayed. When you encounter the second value, you hide it from being displayed.
The big caveat is that the aggregate function (COUNT, SUM, AVG) will not give the correct values as they operate on the complete dataset, not just what is displayed.
HTH