Hi there, looking for some help. Here is what I am trying to do and the datasetep I am using. It works but takes a really long time to run given the number of obs in my data. Anyone know of an alternative program to get what I want?
Dataset 1 Dataset2
ID Legal Charge Charge Status
1 1 A A Rem
1 1 B A Sent
1 2 A A Time
2 1 C B Sent
2 2 C B TIC
C Rem
C Fed
Resulting Dataset
ID Legal Charge Status
1 1 A Rem
1 1 A Sent
1 1 A Time
1 1 B Sent
1 1 B TIC
1 2 A Rem
1 2 A Sent
1 2 A Time
2 1 C Rem
2 1 C Fed
2 2 C Rem
2 2 C Fed
data Result;
set Dataset1;
drop _:;
match = 0;
do i=1 to xnobs;
set Dataset2 (rename = (charge=_charge)) nobs=xnobs point=i;
if charge = _charge then do;
match = 1;
output;
end;
end;
run;
Something like this perhaps:
proc sql;
create table want as
select dataset1.*, dataset2.status
from dataset1 left join dataset2
on dataset1.charge = dataset2.charge;
quit;
Thanks I'll try it!
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.