Я новичок в proc fcmp и хочу знать, как написать пользовательскую функцию с переменным количеством параметров, например, whichc() или coalesce(), в SAS.
proc fcmp
whichc()
coalesce()
Буду благодарен, если кто-нибудь даст мне несколько советов.
Это невозможно, хотя вы можете передавать массивы, как описано здесь (воспроизведено ниже):
function sas_summation (b[*]) varargs; total = 0; do i = 1 to dim(b); total = total + b[i]; end; return(total); endsub; run; quit; options cmplib=work.functions; data one; input x1-x5; datalines; 1 2 3 4 5 2 3 4 5 6 4 5 6 7 8 ; run; data two; set one; array temp (5) _temporary_; array perm2 (*) x1-x5; do i=1 to dim(temp); temp(i)=perm2(i); end; drop i; x=sas_summation(temp); run;