Is there a merge function that combines columns from two datasets while only updating the smaller dataset with the first value of the larger dataset?
E.g. Dataset 1
A
B
Dataset 2
A orange
A blue
B pink
Result dataset
A orange
B pink
This generates the desired result. I won't promise it is extensible for all cases.
data work.data1; input a $; datalines; A B ; run; data work.data2; input a $ color $; datalines; A orange A blue B pink ; run; data work.try; merge work.data1 work.data2; by a; if first.a; run;
This generates the desired result. I won't promise it is extensible for all cases.
data work.data1; input a $; datalines; A B ; run; data work.data2; input a $ color $; datalines; A orange A blue B pink ; run; data work.try; merge work.data1 work.data2; by a; if first.a; run;
Ballardw,
Thanks I forgot about first dot. Happy letters and colors pair up now.
Not sure if this is what you are asking, but this gives the desired output
data dataset1;
input var1 $;
datalines;
A
B
;
data dataset2;
input var1 $ var2 $;
datalines;
A orange
A blue
B pink
;
proc sort data = dataset1;
by var1;
run;
proc sort data = dataset2;
by var1;
run;
data want;
merge dataset1 dataset2;
by var1;
if first.var1;
run;
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.