Hi,
i have two variables in a data set and i want to see if the first variable has values which also exists in the other variable. For example:
Varone Vartwo Flag
1 4 0
2 7 0
7 5 1
4 8 1
So, i want to check every single one of the values in Varone; if the value in Varone exists anywhere in variable Vartwo, then i want a flag value that says 1 and zero otherwise.
thanks
proc sql;
create table want as
select
*,
varone in (select vartwo from have) as flag
from have;
quit;
One method (there are many):
proc sql;
create table combvars as
select have.var1, have2.var2
from have, have as have2
where have.var1 = have2.var2;
quit;
proc sql;
create table want as
select
*,
varone in (select vartwo from have) as flag
from have;
quit;
this should work
data abc;
input varone vartwo;
datalines;
1 4
2 7
7 5
4 8
;
run;
proc sql;
select varone, vartwo, case when varone=var1 then 1 else 0 end as flag
from
(select varone, vartwo from abc)a
full join
(select varone as var1
from abc
where varone in (select vartwo from abc))x
on a.varone =x.var1;
Thank you all for your replies, i really appreciate it. It worked
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: