Your Distinct function is including the GlobalID in the fields parameter, which is essentially just returning the same as the input FeatureSet, since, by definition, every feature will have it's own distinct GlobalID value.
In order to drop multiple readings for a single address, but still return individual features with geometry, you'll need to define some method of actually picking out which reading to take when there are more than one.
Distinct drops the geometry because it's purpose is simply to identify distinct values out of a list of potential duplicates, not return individual features with geometry. If you need geometry, then it's not really the function you want. You could, however, use the values returned from Distinct and create a new FeatureSet.
Try something like
var uniqueParcelsWithMeters = Distinct(parcelsMeterReadings, ['ADDRESS'])
instead. That will truly return the distinct parcels by address, and you can use those to populate a new FeatureSet. You might want to look at the example expressions for more advanced examples to help with this.
- Josh Carlson
Kendall County GIS