I have the following data
PS Lat Long SLOT
abc    75.8233    26.2454     1
abc    75.4785    26.4589     1
abc    75.5495    26.4679     1
abc    75.4875    26.8997     2
abc    75.5649    26.7268     2
abc    75.5666    26.8647     2
xyz    75.4875    26.3842      1
xyz    75.4937    26.5877      1
xyz    75.8473    26.3971      1
xyz    75.7861    26.6884       2
Now I want a new column which shows the distances in the following way:
All the points with PS=abc and Slot=1 should have their distances calculated from the first point of this group(i.e., 75.8233 26.2454), similarly all the points with PS=abc and Slot=2 should have their distances calculated from the first point of this group(i.e., 75.4875 26.8997) and so on.
So please suggest me a solution for this.
Check out the GEODIST function
Assuming your data are sorted by PS and Slot as implied by the example:
data want;
   set have;
   by ps slot;
   retain firstLat Firstlong;
   if first.slot then do;
      firstlat=lat;
      firstlong=long;
   end;
   Dist = geodist(firstlat,firstlong,lat,long);
   drop firstlat firstlong;
run;
					
				
			
			
				
			
			
			
			
			
			
			
		It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.
