У меня есть программа "P", сохраненная вне моего проекта, которую я могу вызвать в любом проекте, используя оператор% include;он выводит таблицу с именем P_OUTPUT. Я хочу иметь возможность передавать таблицу данных D, которую я создал в своем проекте, в «P», и чтобы «P» использовал информацию в DataTable в операторе SQL в «P».
Я не уверен, как передать таблицу данных в качестве параметра в SAS. Я создал таблицу в WORK с именем WORK.D
%macro
%let A = %sysfunc(open(work.D));
%include 'X:\P.sas';
%mend
в "P"
Proc SQL;
Create table P_OUTPUT AS
SELECT …
WHERE Column IN (SELECT * FROM &D.)
;
Quit;
Я получаю сообщение об ошибке: ОШИБКА: вы не можете открыть WORK.D.DATA длядоступ к выходу с контролем уровня участника, потому что WORK.D.DATA используется вами в среде ресурсов IOM ROOT COMP ENV.
Как мне решить эту проблему?