options ls=80 nodate pageno=1 NOFMTERR; * Class04_10.sas 20 Sept 2010; * proc print data=ph6470.child_iq (obs=5); ******************************; data a; input id color$ mass; cards; 12 orange 3650 13 blue 3877 15 yellow 4103 ; data b; input id mass pH; cards; 13 11267 7.8 14 3568 8.2 15 4103 5.1 ; data c; input id mss pH; cards; 13 11267 7.8 14 3568 8.2 15 4103 5.1 ; data d; merge a (in = in_a) b (in = in_b); by id; save_in_a = in_a; save_in_b = in_b; in_both = (in_a=1 AND in_b=1); proc print data=d; ************************************; data e; input id visit dbp; cards; 101 1 77 101 2 75 . 3 80 102 1 71 102 2 74 102 3 68 ; data f; input id visit weight; cards; 101 1 145 101 2 149 101 3 152 102 1 181 102 2 176 ; proc sort data=E; by id visit; proc sort data=F; by id visit; data g; merge e f; by id; proc print data=g; data K; merge E F; by id visit; proc print data=K; data h; set f; by id; first_id = first.id; last_id = last.id; proc print data=h; data M; * count obs per ID; set F; by id; retain count; if (first.id = 1) then count=0; count = count + 1; if (last.id = 1) then output; proc print data=M; run; quit;