Questo è qualcosa che si apre su SAS-L ogni tanto. La risposta è che dipende in gran parte da quello che stai facendo.
Il metodo run cancel
è probabilmente il migliore se si desidera interrompere l'esecuzione a causa di un errore. Nella parte superiore del vostro programma di fare:
%let cancel =; *or any macro variable name, but cancel is most logical;
Poi in ogni passo familiare vi sono:
data whatever;
... do stuff ...;
run &cancel;
E ogni volta che si ha un certo potenziale di errore, è controllare la condizione di errore e poi se colpisce , %let cancel=cancel;
e tu sei bravo.
Se si utilizzano macro, è possibile uscire senza problemi da una macro con %abort
se non si utilizzano opzioni o si utilizza solo cancel
. A seconda di ciò che si sta facendo, è possibile impostare il codice in modo che venga eseguito in una macro (o macro) e utilizzare questa opzione (sebbene con lo svantaggio di perdere una certa chiarezza del registro).
Infine, se sei solo interessante nel riuscire a eseguire un sottoinsieme del tuo codice, ti consiglio di scrivere il codice in più programmi SAS per i bit che potresti voler eseguire separatamente, quindi utilizzare %include
da un programma master a raggruppali tutti insieme con tutte le variabili macro che potresti desiderare impostate e condivise. Questo è simile a come in EG si dovrebbero costruire molti programmi più piccoli e quindi raggrupparli usando il diagramma di flusso del processo.
FYI 'sql' proc ha anche un'opzione simile, chiamato' noexec'. La sintassi completa è 'proc sql noexec; .... fare cose.... ; quit'. Il contenuto del proc non verrà eseguito. Puoi usare la stessa tecnica descritta da Joe sopra anche per questo. –