Let's see, there are multiple records for an item, and each can have a textfield that is being used for grouping, and you want to uniquely group the records based on the textfield.
If you are getting the values from a stored proc, it isn't too hard. If you are joining directly to the tables, I am not sure how to accomplish it. You can group by the identifer for all the records, and then using a sort assign a group, but that is probably not what you are after.
The other idea is to use the formula that you have now, create a string variable and append to it as you display each group, checking if the identifier is not already in the variable. If you are doing any aggregates you would need to either code them or create running totals (DBlank's forte).
The basis of this filtering would be:
in the detail section (probably), suppression formula in Section Expert
shared stringvar alreadyDisplayed;
local booleanvar display := true;
if INSTR(alreadyDisplayed, "|" + {table.uniqueID} + "|") > 0 Then
display := false;
else
alreadyDisplayed := alreadyDisplayed + "|" + {table.uniqueID} + "|";
display
HTH