This code I am using in my situation was taken from (http://blogs.sas.com/content/sgf/2015/01/27/how-to-perform-a-fuzzy-match-using-sas-functions/). Usually, the point option is coupled with stop to prevent infinite looping. I am not sure why stop statment is not used here.
data test; set dsn1; tmp1=soundex(name1); do i=1 to nobs; set dsn2 point=i nobs=nobs; tmp2=soundex(name2); dif=compged(tmp1,tmp2); if dif<=50 then do; possible_match='Yes'; drop i tmp1 tmp2; output; end; end; run;
That's true, STOP is usually employed in combination with POINT=. In this case, however, SET DSN1 will eventually run out of observations to read, stopping the DATA step.
That's true, STOP is usually employed in combination with POINT=. In this case, however, SET DSN1 will eventually run out of observations to read, stopping the DATA step.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.