1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
DATA tbl_1;
INPUT bli $ blou$
;
CARDS;
A 1
B 1
A 4
C 5
F 4
;
run;
proc sort data = tbl_1 ;
by bli ;
run ;
%macro test ;
data test ;
format f $60. ;
set tbl_1 ;
retain f groupe ;
if _N_ = 1 then do ;
groupe = 1 ;
a = compress(bli||','||blou) ;
f=a ;
end;
if _N_ > 1 then do ;
if
%do j = 1 %to 8 ;
%if &j. < 8 %then %do ;
(scan(f,&j.,',')) = blou
or
(scan(f,&j.,',')) = bli
or
%end ;
%else %do ;
(scan(f,&j.,',')) = blou
or
(scan(f,&j.,',')) = bli
%end ;
%end ;
then do ;
a =compress(bli||','||blou||','||f) ;
f = a ;
end ;
else do ;
a= compress(bli||','||blou) ;
f= a ;
groupe = groupe +1 ;
end ; end ;
run ;
%mend ;
%test ; |
Partager