#sas
#sas
Вопрос:
Я пишу предложение макроса в SAS :
%macro loop;
%let sigmav=0.1;
.....
%let sigmav_new=std(V);
%if abs(%eval(amp;sigmav-amp;sigmav_new))<0.001 %then %do;
......
%mend;
Но всегда есть ошибки abs ( ) и std( ). Итак, мне интересно, существуют ли специальные правила для выражения функции abs () и std() в макросе. Надеюсь на вашу помощь!
Ответ №1:
Если вы хотите вызвать функцию SAS в макросе (и вне этапа обработки данных), вам нужно заключить ее в %sysfunc().
Комментарии:
1. Кроме того, вам нужно будет заменить %eval на %sysevalf, поскольку числа не являются целыми числами.