Combine the tables.
Types of Merging :
/*1.one-one without relation*/
data dm1;
input sno $ gno $ pid age;
cards;
s1 g1 101 23
s1 g1 102 34
s2 g2 103 24
s2 g2 104 32
;
data dm2;
input sex $ race $;
cards;
female asian
male african
female asian
male african
;
data dm3;
input color $ weight;
cards;
w 67
b 56
w 78
b 60
;
data dm;
merge dm1 dm2 dm3;
run;
proc print data=dm;
run;
/*2.one to one with relation*/
data qm1;
input sno $ gno $ pid age;
cards;
s1 g1 101 23
s1 g1 102 34
s2 g2 103 24
s2 g2 104 32
;
data qm2;
input sex $ race $ pid;
cards;
female asian 101
male african 102
female asian 103
male african 104
;
data qm3;
input color $ weight pid;
cards;
w 67 101
b 56 102
w 78 103
b 60 104
;
proc sort data=qm1;
by pid;
proc sort data=qm2;
by pid;
proc sort data=qm3;
by pid;
run;
data qm;
merge qm1 qm2 qm3;
run;
proc print data=qm;
run;
/*3.one to many*/
data mh;
input pid visit dose;
cards;
101 1 0.05
102 1 0.1
103 1 0.15
104 1 0.2
101 2 0.05
102 2 0.1
103 2 0.15
104 2 0.2
;
proc sort data=qm;
by pid;
proc sort data=mh;
by pid;
run;
data qm_mh;
merge qm mh;
by pid ;
run;
proc print data=qm_mh;
run;
/*4.many to one*/
data ae;
input pid visit aetype $;
cards;
101 1 eyedis
102 1 eyedis
103 1 eardis
104 1 skinprb
101 2 eyedis
102 2 eardis
103 2 eardis
104 2 eyedis
;
/*5.many to one*/
data mh_ae;
merge mh qm;
by pid;
run;
proc print data=mh_ae;
run;
/*6.many to many*/
proc sort data=mh;
by pid visit;
proc sort data=ae;
by pid visit;
run;
data ae_mh;
merge mh ae;
by pid visit;
run;
proc print data=ae_mh;
run;
No comments:
Post a Comment