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;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.