The WHERE clause limits the records passed from the source dataset into the data step. The main effect it might have on the logic of your example code is its impact on the LAST. variable you are referencing. If a group has 10 records in your source but the last 2 do not pass the where clause test then the 8th record is the LAST instead of the 10th record.
You cannot apply two independent where clauses in the same data step without reading the source dataset twice. You can augment the WHERE clause by using a WHERE ALSO statement, but that is just the same as writing one WHERE statement with both conditions combine with AND operator.
You might be able to do some more complex calculations in a single data step, but you would need to explain more clearly what you are tying to do. For example if you want to aggregate over a patient (find the min vlaue or max value or count something) but use different criteria for which records to include in each aggregate you could.
... View more