DATA Step, Macro, Functions and more

SAS query

Reply
Frequent Contributor
Frequent Contributor
Posts: 87

SAS query

When I run the below code, I got the error message, anyone can help? Thanks.

 

proc datasets lib=TEST;
audit WANT;
initiate;
USER_VAR _REASON_CHANGE_ $30;
quit;

 


DATA TEST.WANT;
MODIFY TEST.WANT;
WHERE NO IN (SELECT DISTINCT OLD_NO FROM REFERRAL);
REFERRAL="N";
_REASON_CHANGE_ = "Refer Case";
RUN;

 

ERROR: Syntax error while parsing WHERE clause.
ERROR 22-322: Syntax error, expecting one of the following: a quoted string,
a numeric constant, a datetime constant, a missing value, -.

ERROR 76-322: Syntax error, statement will be ignored.

Super User
Posts: 10,544

Re: SAS query

select is only valid in proc sql, not in a data step.

You might want to use a data step merge to find the observations that need to be changed.

Please supply example data (in data steps with datalines) to work with.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Valued Guide
Posts: 596

Re: SAS query

You're trying to mix data step code with SQL i.e. SELECT DISTINCT OLD_NO FROM REFERRAL is SQL and the rest is data step. They're two completely different (albeit SAS supported) languages.

Ask a Question
Discussion stats
  • 2 replies
  • 92 views
  • 0 likes
  • 3 in conversation