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
| %macro test;
/*Permet de récupérer le nombre d'observations de la table*/
PROC CONTENTS data=EXO.coh_date
out=NB_obs;
RUN;
/*Permet selon si la table est vide ou non de donner une valeur (dans une macro-variable)*/
proc sql;
SELECT case when NOBS=0 then 1 else 0 end INTO :t1
FROM Nb_obs;
quit;
%put &t1;
/*t1 =0 => un element au moins non nul dans la TABLE
t1 =1 => tous les elements sont nuls dans la TABLE*/
%IF &t1 eq 1 %then %do;
ODS PDF file='G:\test-pdf.pdf';
PROC PRINT DATA=exo.pas_observations;
RUN;
ODS PDF CLOSE;
%end;
%else %do;
ODS PDF file='G:\test-pdf.pdf';
PROC PRINT DATA=EXO.coh_date;
RUN;
ODS PDF CLOSE;
%end;
%mend;
%test(a,b,c etc);
%test(d,e,f etc); |
Partager