[code:28ny84cs]data raw;
input x y $ z;
datalines;
1 b 3
1 b .
1 .
. .
;
data temp(drop=dsid var_n);
retain dsid var_n not_miss_n 0;
set raw;
if _n_=1 then do;
dsid=open('raw','i');
var_n=attrn(dsid,'nvars');
end;
not_miss_n=var_n-cmiss(of _all_);
run;[/code:28ny84cs]