Я хотел бы вернуть значение из созданного мной макроса SAS, но я не уверен, как это сделать. Макрос вычисляет количество наблюдений в наборе данных. Я хочу, чтобы количество наблюдений было возвращено.
%macro nobs(library_name, table_name);
proc sql noprint;
select nlobs into :nobs
from dictionary.tables
where libname = UPCASE(&library_name)
and memname = UPCASE(&table_name);
quit;
*return nobs macro variable;
&nobs
%mend;
%let num_of_observations = %nobs('work', 'patients');
Кроме того, мне бы хотелось, чтобы макрокоманда &nobs
, которая используется в макросе, была локальной для этого макроса, а не глобальной. Как я могу это сделать?