Инструкции 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-групповая обработка )