DATA Step, Macro, Functions and more

Exit a SAS script based on a condition

Reply
Occasional Contributor
Posts: 6

Exit a SAS script based on a condition

I want to be able to check if a SAS dataset has any observations.

It is has 0 observations, I want to exit the SAS script.

Any suggestions on what I would do?

Trusted Advisor
Posts: 1,931

Re: Exit a SAS script based on a condition

You can write a macro that only executes more code if the number of observations is > 0, and it stops executing if the number of observations is = 0.

 

%macro example;
    proc sql noprint;
        select count(variablename) into :nobs from datasetname;
    quit;
    %if &nobs>0 %then %do;
             .... whatever SAS code you want ....
    %end;
%mend;
SAS Employee
Posts: 12

Re: Exit a SAS script based on a condition

There are various ways to check the obs, the previous comment contains one.  To exit a sas script the abort statement is probably an option for you.

 

https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000230210.htm

Occasional Contributor
Posts: 6

Re: Exit a SAS script based on a condition

Posted in reply to ChrisWard
Thanks for both options. I will take a look at both.
Super User
Super User
Posts: 7,970

Re: Exit a SAS script based on a condition

To me, that sounds like a bad idea.  Personally, if your code doesn't create anything then there should be some defensive coding which creates and outpu stating there is no results.  Any abort/abend in code I use is pulled out as a problem, code should flow through without any errors, warnings, abnormal exits, and the final output should be qc'able even if only to confirm zero observations.

Ask a Question
Discussion stats
  • 4 replies
  • 334 views
  • 0 likes
  • 4 in conversation