'The subsetting IF statement causes the DATA step to continue processing only those raw data records or those observations from a SAS data set that meet the condition of the expression that is specified in the IF statement. That is, if the expression is true for the observation or record (its value is neither 0 nor missing), SAS continues to execute statements in the DATA step and includes the current observation in the data set. The resulting SAS data set or data sets contain a subset of the original external file or SAS data set.
If the expression is false (its value is 0 or missing), no further statements are processed for that observation or record, the current observation is not written to the data set, and the remaining program statements in the DATA step are not executed. SAS immediately returns to the beginning of the DATA step because the subsetting IF statement does not require additional statements to stop processing observations.'
If the expression is false, why wouldn't further statements be processed for any observation? If we had multiple if statements and the first one were not met, wouldn't it then check to see if the second were met? In fact this is what happens, and it does not make sense that control (don't know what this actually means) would immediately return to the top of the data step instead of evaluating remaining statements. What am I misunderstanding?
... View more