Hello,
I Have a data set which has 2 Ids values: ID1 and ID2. I would like to set a flag for all the records where ID2 in ne record is ID1 in another record and vice versa.
ID1 ID2 FLAG
A B 1
B A 1
C G 0
E 0
F H 0
Any Idea ?
Thanks
KC
data have;
input ID1 $ ID2 $;
cards;
A B 1
B A 1
C G 0
E . 0
F H 0
;
proc sql;
create table want as
select a.*,(a.id1=b.id2) as Flag
from have a left join have b
on a.id1=b.id2;
quit;
data have;
input ID1 $ ID2 $;
cards;
A B 1
B A 1
C G 0
E . 0
F H 0
;
proc sql;
create table want as
select a.*,(a.id1=b.id2) as Flag
from have a left join have b
on a.id1=b.id2;
quit;
thank you it worked. I was thinking about a loop or an array but this is easier.
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.
Ready to level-up your skills? Choose your own adventure.