Hi all,
Thanks for taking time to help me.
I have two datasets which I want to merge on people's surname.
In one dataset the field contains just the surname but in the other dataset the field contains other words (potentially before or after the surname).
Is there any way to join the two datasets?
E.g. Surname (table 1) Name (table 2)
Smith Mr.Tom Smith
I would want to join the records for this example above.
I have tried using proc sql, create table ... with a where clause with the contains function but that did not work.
I have SAS 9.4.
Any help will be much appreciated.
proc sql;
select * from table1,table2
where table2.name contains strip(table1.surname);
quit;
stat@sas wrote:
proc sql;
select * from table1,table2
where upcase( table2.surname ) contains upcase( strip(table1.surname) ) ;
quit;
with a little update in case SurName is not reliably in a consistent case
good luck
Thank you both for your help, that is great.
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.