BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
SAS_inquisitive
Lapis Lazuli | Level 10

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;
1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
PROC Star

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.

View solution in original post

1 REPLY 1
Astounding
PROC Star

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.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 998 views
  • 0 likes
  • 2 in conversation