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?
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;
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
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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.