В интеграции данных SAS создайте пользовательское преобразование, чтобы пропустить дальнейшее выполнение задания, не выдавая ошибку при выполнении определенного условия.
Я хочу создать пользовательское преобразование, чтобы пропустить дальнейшее выполнение задания, когда определенное условие выполняется. Я пробовал код
%abort;
%abort cancel;
но эти операторы дают ошибку, что-то вроде Остановлена обработка из-за оператора% abort. Я не хочу, чтобы отображалось сообщение об ошибке, просто пропустите оставшееся выполнение задания. Например, если моя исходная таблица имеет нулевые наблюдения, выходите из работы без регистрации сообщения об ошибке или предупреждения.
1 ответ
Хм, не уверен, что это будет работать в SAS DI (у меня нет его для тестирования), но мы используем следующий макрос:
%macro stop_sas;
%if "&sysenv" eq "FORE" %then %do;
%abort cancel;
%end;
%else %do;
endsas;
%end;
%mend;
Он в основном проверяет, работает ли SAS как пакетное задание или нет, и, если это так, тихо завершает работу SAS. Если SAS работает в интерактивном режиме, он просто прервет отправленный код, не закрывая IDE.
Ключевым утверждением здесь является endsas
команда - которая, вероятно, та часть, которую вы ищете.