DATA Step, Macro, Functions and more

Where clause condition

Reply
Occasional Contributor
Posts: 14

Where clause condition

Hi,

    Its a very basic condition in where clause..

data person;
   input name $ dept;
   datalines;
John 1
Mary 1
Matt 2
Rob  3
Mary 3
;
run;


data filter;
set person;
where dept ^=1 and name ^= "John";
run;

If I run the above datastep, why is it excluding all rows whose department is 1 or name is John.

It should exclude only if dept is 1 and name is John.

Thanks in advance..

Super User
Super User
Posts: 7,076

Where clause condition

Posted in reply to kishore415

It is doing what you asked. If you want it only exclude cases with 1 and John then change to:

where not (dept=1 and name='John');

or

where dept^=1 or name^='John' ;

PROC Star
Posts: 7,490

Where clause condition

Or, if you have a hard time understanding double negatives, just use something like:

where not(dept=1 and name='John')

Ask a Question
Discussion stats
  • 2 replies
  • 129 views
  • 6 likes
  • 3 in conversation