81 lines
1.4 KiB
SAS
81 lines
1.4 KiB
SAS
|
|
|
|
proc freq order=freq data=sashelp.vfunc;
|
|
tables source fnctype fncprod;
|
|
run;
|
|
|
|
/*
|
|
title 'FNCPROD=B';
|
|
proc print data=sashelp.vfunc;
|
|
where fncname>' ' & FNCPROD='B';
|
|
run;
|
|
|
|
title 'FNCPROD=X';
|
|
proc print data=sashelp.vfunc;
|
|
where fncname>' ' & FNCPROD='X';
|
|
run;
|
|
|
|
title 'FNCPROD=T';
|
|
proc print data=sashelp.vfunc;
|
|
where fncname>' ' & FNCPROD='T';
|
|
run;
|
|
|
|
title 'FNCPROD=I';
|
|
proc print data=sashelp.vfunc;
|
|
where fncname>' ' & FNCPROD='I';
|
|
run;
|
|
|
|
endsas;
|
|
*/
|
|
|
|
data vfunc;
|
|
set sashelp.vfunc end=last;
|
|
by fncname;
|
|
where fncname>' ' & (fncprod='X' | source=fncprod='B');
|
|
file "func.txt";
|
|
|
|
if _n_=1 then do;
|
|
put ";; SAS functions found in sashelp.vfunc where fncprod='X' | source=fncprod='B'";
|
|
end;
|
|
|
|
if last.fncname;
|
|
|
|
fncname=lowcase(fncname);
|
|
|
|
retain alpha 'abcdefghijklmnopqrstuvwxyz' prev 1;
|
|
|
|
format fncname $quote32.;
|
|
|
|
i=indexc(alpha, substr(fncname, 1, 1));
|
|
|
|
if i>prev then do;
|
|
prev=i;
|
|
put;
|
|
end;
|
|
|
|
put fncname @;
|
|
|
|
if last then put;
|
|
run;
|
|
|
|
data vfunc;
|
|
set sashelp.vfunc end=last;
|
|
by fncname;
|
|
if last.fncname;
|
|
|
|
where fncname>' ' & (fncprod='X' | source=fncprod='B');
|
|
file "check-func.sas";
|
|
|
|
fncname=trim(lowcase(fncname))||'();';
|
|
|
|
put fncname;
|
|
run;
|
|
|
|
proc contents varnum;
|
|
run;
|
|
|
|
proc print;
|
|
var fncname;
|
|
format fncname $quote32.;
|
|
run;
|