Инструкции Quit vs Run в SAS
в SAS, в чем разница между "quit" и "run"? заявления? Я не могу понять, когда использовать "quit" и когда использовать "run"? Например, почему proc datasets
используя quit
но proc contents
используя run
1 ответов
это восходит к САС, где раньше была программа универсального (и все еще может быть!).
RUN;
- это команда для SAS для запуска представленных операторов. В старые дни мэйнфреймов операторы отправлялись в SAS по одному (или пакетами, но основная концепция здесь заключается в том, что каждая строка отделена от точки зрения SAS). SAS принимает заявления, ничего не делая, пока не попадет в RUN;
или что-то еще, что создало бы границу шага (другое DATA
или PROC
линии, как правило). В шаге данных или неинтерактивном proc (proc означает, например, - proc, который может выполнять только один набор инструкций, а затем выходить),run
говорит ему сделать (что угодно), а затем вернуться к чистому листу.
QUIT;
используется в интерактивных средах программирования. IML, SQL, многие процессы регрессии и моделирования, формат, шаблон, наборы данных и т. д. - все могут быть использованы в интерактивном режиме, то есть, более одного набора инструкций могут быть отправлены их.
в этих интерактивных случаях вы хотите, чтобы SAS пошел вперед и выполнил некоторые инструкции, но все же держите среду этого PROC открытой - ваш следующий оператор будет в том же PROC, например. Некоторые из них бегут немедленно ... --7--> является хорошим примером этого-в то время как некоторые (особенно процесс моделирования) RUN;
что-то делает (говорит ему запустить модель до сих пор), но он не выйдет из proc до QUIT;
встречается (или другая граница шага, которая требует, чтобы exit, т. е. оператор data/proc). Они называются "запустить группы", и "запустить обработку групп" - это термин, который вы увидите, связанный с этим.
вы найдете, что некоторые люди ставят run; quit;
в каждой точке, что run;
или quit;
может быть уместно; это ничего не повредит, хотя на самом деле это тоже не "правильно". И есть случаи, когда это необходимо сделать!
пример:
/* first run group*/
proc gplot data=sales;
title1 "Sales Summary";
plot sales*model_a;
run;
/* second run group */
plot sales*model_b;
run;
quit;
(от run-групповая обработка )