I know you double posted this one, but the real question is what do you want? Is it the first record for a customer, or the first record for a customer for a location?
AS the groupings change so will the report.
Really the simplest way to accomplish this is to write a stored procedure to retrieve ONLY the data you want to report on, then you don't have to jump through hoops filter and ordering, you just need to report.
Crystal can do a lot, but it is limited in situations like this. SQL is much more versatile in handling the data side.
HTH