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.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.