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
| /* Je rapproche la table1 et la table 2 en ne conservant que certaines variables */
proc sort data=table1 out=table1_trie;
by var1a var1b var1c ;
run;
proc sort data=table2 out=table2_Trie;
by var2a var2b var2c ;
run;
DATA final ;
MERGE table1_trie (in=a keep=A1 A2 A3 )
table2_trie (in=b keep=A7 A8 rename = (var2a=var1a var2b= var1b
var2c= var1c)) ;
BY var1a var1b var1c;
IF a;
RUN;
%MACRO test (data1=, datasort1=, vardata1= , keep1= , data2=, datasort2=, vardata2= ,keep2= , data3=, clef1=, clef2=);
PROC SORT DATA = &data1. out=&datasort1. ;
BY &vardata1.;
RUN;
PROC SORT DATA = &data2 out=&datasort2 ;
BY &vardata2.;
RUN;
DATA &data3;
MERGE &datasort1 (in=a keep=&keep1) &datasort2 (in=b keep=&keep2 rename =( &clef2 = &clef1)) ;
by &vardata1. ;
IF a;
run;
%MEND test;
%MACRO test (data1= table1 , datasort1= table1_trie, vardata1= var1a var1b var1c , keep1= A1 A2 A3, data2=, datasort2= table2, vardata2= var2a var2b var2c ,keep2= A7 A8 , data3=final, clef1=, clef2=); |
Partager