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
| proc sort data=caye0014.cahiervar nodupkey out=table_unique ;
by table ;
run ;
%macro CalculNmiss();
data _null_ ;
set table_unique ;
call symputx (compress("tab_entree"||_n_), table) ;
Call symputx ("Tot",_n_);
run ;
%Do i = 1 %To &Tot;
data inter ;
set caye0014.&&tab_entree&i.;
array cha _character_;
array num _numeric_;
do over cha;
if missing(cha) then do;
NAME=vname(cha);
output;
end;
end;
do over num;
if missing(num) then do;
NAME=vname(num);
output;
end;
end;
run;
proc sql;
create table NA_1 as
select distinct NAME, count(*) as nmiss
from inter
group by NAME;
quit;
data NA_1 ;
set NA_1 ;
table="&&tab_entree&i." ;
run ;
%End;
%Mend CalculNmiss;
%CalculNmiss (); |
Partager