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 58 59 60 61 62 63 64 65 66 67 68 69 70
| DATA TEST ;
input DATCOM ddmmyy10. LIBCOU $5. ACTION QTE_ACTION VALO_ACTION ACT QTE_ACT VALO_ACT ;
;
cards ;
02/11/2009 ADH 114.45 450.00 51502.50 . . .
02/11/2009 SLF 600.00 149.00 89400.00 . . .
02/11/2009 SNP 510.00 120.00 61200.00 . . .
02/11/2009 SRM 395.50 159.00 62884.50 . . .
02/11/2009 FCP . . . 600.00 149.00 89400.00
02/11/2009 VAL . . . 510.00 120.00 61200.00
02/11/2009 TIJ . . . 395.50 159.00 62884.50
03/11/2009 ADH 114.45 450.00 51502.50 . . .
03/11/2009 SLF 600.00 149.00 89400.00 . . .
03/11/2009 SNP 510.00 120.00 61200.00 . . .
03/11/2009 SRM 395.50 159.00 62884.50 . . .
03/11/2009 FCP . . . 600.00 149.00 89400.00
03/11/2009 VAL . . . 510.00 120.00 61200.00
03/11/2009 TIJ . . . 395.50 159.00 62884.50
04/11/2009 ADH 114.45 450.00 51502.50 . . .
04/11/2009 SLF 600.00 149.00 89400.00 . . .
04/11/2009 SNP 510.00 120.00 61200.00 . . .
04/11/2009 SRM 395.50 159.00 62884.50 . . .
04/11/2009 FCP . . . 600.00 149.00 89400.00
04/11/2009 VAL . . . 510.00 120.00 61200.00
04/11/2009 TIJ . . . 395.50 159.00 62884.50
;
run ;
proc print ; run ;
%macro selection(label);
LABEL=CATS(LIBCOU,"_", "&label."); VALEUR=&label.; output;
%mend ;
DATA TEST2 ;
SET TEST ;
length LABEL $32 VALEUR 8 ; format DATCOM ddmmyy10. ;
IF LIBCOU IN ("CGI" "SCE" "MIC" "NEX" "ONA" "OUL""SRM" "SCE" "SNA" "TSF" "TIM" "UMR" "WAA" "ZDJ" )
THEN
do ;
%selection(ACTION) %selection(QTE_ACTION) %selection(VALO_ACTION) ;
end ;
ELSE IF LIBCOU IN ("FCP" "VAL" "TIJ" )
THEN
do ;
%selection(ACT) %selection(QTE_ACT) %selection(VALO_ACT) KEEP DATCOM LABEL VALEUR ;
end ;
;
RUN ;
PROC PRINT ; RUN ;
proc transpose DATA=TEST2 out = TEST3 (DROP=_NAME_) ;
BY DATCOM ;
var VALEUR ;
ID LABEL ;
format DATCOM ddmmyy10.;
run ;
proc print ; run ; |
Partager