Friday, 7 October 2011

LookUp Transformation


we have to create a trackinfg variable or temporary variable in Base dataset  by "IN operator"
This operator written two values 1 ro 0.
1controls matching data,
0 controls non matching data.

data ac_holders;
input acno name $ actype $;
cards;
11001 kumar saving
11002 pavan corpo
11003 laxmi saving
11004 kiran corpo
11005 john saving
;

data ln_holders;
input acno lnno $ lntype $;
cards;
11001 h001 house
11003 h002 house
11005 p001 personal
;

proc sort data=ac_holders;
by acno;
proc sort data=ln_holders;
by acno;
run;

data ac_ln;
merge ac_holders ln_holders (in=var);
by acno;
if var=1;
run;

proc print data=ac_ln;
run;
data ln_ac;
merge  ln_holders (in=var)ac_holders ;
by acno;
if var=0;
run;

proc print data=ac_ln;
run;

data ae;
input pid ae $;
cards;
123 headache
145 headache
189 hairloss
210 skinprob
234 headache
;

data adr;
input pid adrtype $;
cards;
123 eyedis
145 eyedis
160 eardis
234 eardis
256 eyedis
;

proc sort data=ae;
by pid;

proc sort data=adr;
by pid;
run;

data ae_adrmatch;
merge ae(in=a) adr(in=b);
by pid;
if a=1 and b=1;
run;

proc print data=ae_adrmatch;
run;

data ae_adrnonmatch;
merge ae(in=a) adr(in=b);
by pid;
if a=0 or b=0;
run;

proc print data=ae_adrnonmatch;
run;

data ae_adrnonmatch;
merge ae adr(in=a);
by pid;
if a=0;
run;

proc print;
run;

data ae_adrnonmatch;
merge ae (in=a) adr;
by pid;
if a=0;
run;

proc print;
run;

No comments:

Post a Comment