this is a friendly rejoineder to @Tom 1. a comparison test (&sysnobs gt 0) (&sysnobs ge 1) is not necessary for a logical condition the global macro variable sysnobs has values in (0,1:&sysmaxlong) (RJF 2017-09-05 correction ... in (-1,1,<maximum nobs>) ) where -1 means previous data step had nobs=0 this comment.1 about comparison tests being unnecessary is generally true, but is necessary here because of the possible value of -1 ) zero is false, all other values, except missing, are true True is not False: Evaluating Logical Expressions 2. *-always-* end a step with a run or quit? my style guide says * always end an %include (routine or subroutine) and macro (process or procedure, not function) with a run; statement at any step where you want the system macro variables updated then run is required, otherwise it is extraneous. Ron Fehd proofreader
... View more