data trial;
merge trial1
trial2;
by ???
run;
trial1 has the field gen_id
trial2 has the field sys_id
they are an equal join but with different names. If they had the same name it would be a simple by statement. How can I join these two when they have equal value and different names?
data trial;
merge trial1(rename=(gen_id=sys_id)) trial2;
by sys_id;
run;
Choose the "id" you want to keep and rename the other one:
data trial;
merge trial1 /*keeping gen_id*/
trial2 (rename=sys_id=gen_id);
by gen_id;
run;
Or without renaming/Sorting, use
Proc sql;
create table trail as
select * from trail1 a, trial2 b where a.gen_id=b.sys_id;
quit;
Haikuo
proc sql;
create table trial as
select
*
from
trial1 t1
inner join trial2 t2
on t1.gen_id=t2.sys_id;
quit;
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.