I see a couple of problem.
1) It's better 2 split the data in 2 tables : the customer (with GeoKey field) and the coordinates (GeoKey, Long , Lat).
Howhever, you can replace the sum in long/lat expression by an avg to prevent the summation of long/lat.
2) The link between geokey and State seems to me strange. I'm not a specialist of the USA geography. But when I clik on Florida, I have location in Massachussets !
Hope it helps you