Type : EXTERNE
Les données sources sont définies par le paramètre macro &dsns qui attend une liste de noms de tables existantes.
| 1 | %DO i=1 %to &dsnN; |
| 2 | %let item=%scan(&dsns,&i,%str( )); |
| 3 | %AHGgettempname(onedsn); |
| 4 | %let alldsn=&alldsn &onedsn; |
| 5 | DATA &onedsn; |
| 6 | %IF %AHGnonblank(&ord) %THEN &ord=&i;; |
| 7 | %IF %AHGnonblank(&BY) %THEN %DO; |
| 8 | FORMAT &BY $40.; &BY="&item"; |
| 9 | %END; |
| 10 | SET &item; |
| 11 | RUN; |
| 12 | %AHGalltocharnew(&onedsn,out=&onedsn); |
| 13 | /* ... collecte des variables et appel AHGmergeprint ... */ |
| 14 | %END; |
| 1 | DATA &out; |
| 2 | SET &alldsn; |
| 3 | RUN; |
| 1 | %IF &keep %THEN %AHGrenamekeep(&out,names=&allvar,keepall=0); |
| 2 | %ELSE %AHGrenamekeep(&out,keepall=0); |
| 3 | %AHGtrimdsn(&out); |
| 4 | |
| 5 | %IF &PRINT %THEN %AHGprt; |