BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
mlm155
Obsidian | Level 7

I tried a data step with two where statements and realised that only the second where condition is affecting the output - see sample code below:

 

data result_2where_conditions;
set class_birthdate;
where Registration = 'C';

where Age = 12;

run;

 

Can somebody shed some light on why this happens?

Thanks heaps.

 



1 ACCEPTED SOLUTION
4 REPLIES 4
Astounding
PROC Star
Alternatively, add the keyword SAME to the second WHERE statement:

where same and age=12;
Kurt_Bremser
Super User

While this is valid and works, I would not even teach it, as sooner or later someone comes up with

where condition1;
/* 1000 lines of data step code */
where same and condition2;
/* another 1000 lines of data step code */
where same and condition3;

which is horrible to debug and maintain.

Astounding
PROC Star
I agree, for simple sets of conditions. For complex sets of conditions, it can be easier to read the "same and" version.

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!

Submit your idea!

LIBNAME 101

Follow along as SAS technical trainer Dominique Weatherspoon expertly answers all your questions about SAS Libraries.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 1792 views
  • 4 likes
  • 3 in conversation