using Where and Keep in a set statement

Accepted Solution Solved
Reply
Occasional Learner
Posts: 1
Accepted Solution

using Where and Keep in a set statement

I am trying to determine if I can combine a keep and a where in a set statement. 

 

data sf;
set screen (where=(sf_flag='Y') keep = ( cno patno sf_flag) );
run;


Accepted Solutions
Solution
‎03-21-2018 09:08 AM
Super User
Posts: 9,339

Re: using Where and Keep in a set statement

Posted in reply to tanya_henderson

Yes, that's perfectly possible. I'd just change the order of the two dataset options, as SAS executes the keep first and the where later.

In a dataset option, you can only apply the where to variables that are kept, as apposed to SQL, where you can set a where condition with variables not included in the select.

 

If you also use a rename= option, the order should be

keep=

rename=

where=

as that is the order in which SAS executes the option, so that the code as written represents the logical order.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code

View solution in original post


All Replies
Solution
‎03-21-2018 09:08 AM
Super User
Posts: 9,339

Re: using Where and Keep in a set statement

Posted in reply to tanya_henderson

Yes, that's perfectly possible. I'd just change the order of the two dataset options, as SAS executes the keep first and the where later.

In a dataset option, you can only apply the where to variables that are kept, as apposed to SQL, where you can set a where condition with variables not included in the select.

 

If you also use a rename= option, the order should be

keep=

rename=

where=

as that is the order in which SAS executes the option, so that the code as written represents the logical order.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 72 views
  • 1 like
  • 2 in conversation