Запустите программу SAS (внутри проекта SAS) со строками кода - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь автоматизировать мой код SAS. В проекте у меня есть несколько программ, и я хотел бы иметь одну программу, которая может вызывать некоторые из предыдущих. Идея состоит в том, чтобы создать условие, которое при true вызывает конкретную c программу.

Ответы [ 2 ]

2 голосов
/ 20 февраля 2020

Вы можете использовать call execute на шаге DATA для отправки кода для запуска программы.

Предположим, у вас есть контрольная таблица, в которой перечислены программы, доступные для запуска:

PERM.PROGRAMS
-------------
runit program
----- -------------------------------------
yes   /project1/step1.sas
 no   /project1/step1extra.sas
yes   /project1/step2.sas

data _null_;
  set perm.programs;
  if runit='yes' then 
    call execute ('%include ' || quote(program,"'"));
run;
1 голос
/ 20 февраля 2020

Вам нужна управляющая программа. Предполагая, что вы работаете с SAS 9.4M5 +, вы также можете использовать% IF /% THEN в открытом коде.

% INCLUDE запустит программу, просто нужно указать путь.

%let condition= TRUE;

   %if condition == TRUE %then %do;
        %include 'path to sas program.sas';
   %end;

   %include 'path to sas program2.sas';
...