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.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 1677 views
  • 4 likes
  • 3 in conversation