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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.