DATA Step, Macro, Functions and more

proc sql - condition

Accepted Solution Solved
Reply
Contributor
Posts: 41
Accepted Solution

proc sql - condition

i am using proc sql to join and want to use a condition something like this  which was used in datastep.

if mapsubmitted="Y" and (cats(substr(term,1,1),substr(term,length(term)))="()" or term="*") then do;
_rc=_values_.add();
end;

 

i am using the below

proc sql;
create table _values_ as
select distinct b.table,b.column,b.origin,b.originwhere,b.algorithm
from vcol a right join source_columns b
on a.origin=b.origin
where substr(b.term,length(b.term))="()";
quit;

i used where substr(b.term,length(b.term))="()";

 

In this i want to take values in term which are enclosed in "()" or which has "*".

 

values in term are below. i want to take only terms which are enclosed in () and which has *.

 

(MMSE)

(ND)

ISO 8601

 *

 

can any one help me on this.


Accepted Solutions
Solution
‎03-29-2017 06:00 AM
Regular Contributor
Posts: 237

Re: proc sql - condition

Posted in reply to alexdsa310
Hello,

Why don't you use the same condition as in your datastep ? Here, you only take the last character of term instead of concatenating the first and last characters.

You can also use this condition :
WHERE b.term like "(%)" or b.term="*";

View solution in original post


All Replies
Solution
‎03-29-2017 06:00 AM
Regular Contributor
Posts: 237

Re: proc sql - condition

Posted in reply to alexdsa310
Hello,

Why don't you use the same condition as in your datastep ? Here, you only take the last character of term instead of concatenating the first and last characters.

You can also use this condition :
WHERE b.term like "(%)" or b.term="*";
☑ This topic is solved.

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

Discussion stats
  • 1 reply
  • 131 views
  • 0 likes
  • 2 in conversation