SAS включает динамический путь - PullRequest
0 голосов
/ 08 ноября 2018

Я попытался построить небольшой макрос, который в цикле должен запускать другие программы SAS.Таблица Control_files имеет два поля, где находятся другие части пути к соответствующей программе sas.

%LET PATH_TO = '%include "T:\XXX\YYY\ZZZ\';
%LET PATH_end = '.sas"';
data _null_;
set CONTROL_FILES;
call execute ('%runlimitsquery('||&PATH_TO||SCHEMA_NAME||'\'||PROCES_NAME||&PATH_end||');');
run;

Я попытался использовать runlimitsquery, потому что нашел где-то этот совет. Когда я запускаю свой код, журнал возвращает:

NOTE: CALL EXECUTE generated line.
NOTE: Line generated by the CALL EXECUTE routine.
1         + %runlimitsquery(%include "T:\XXX\YYY\ZZZ\XXX_TECHNICAL_AAAAA\001_AAAAA.sas");
            _
            180
WARNING: Apparent invocation of macro RUNLIMITSQUERY not resolved.

ERROR 180-322: Statement is not valid or it is used out of proper order

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 08 ноября 2018

Хорошо, у меня есть ответ на мою проблему ... Ниже работает код:

%LET PATH_TO = '%include "T:\XXX\YYY\ZZZ\';
%LET PATH_end = '.sas"';
data _null_;
set CONTROL_FILES;
call execute ('('||&PATH_TO.||SCHEMA_NAME||'\'||PROCES_NAME||&PATH_end.||';');
run;
...