Help using Base SAS procedures

Error: Expecting an arithmetic operator & Syntax error, statement will be ignored

Reply
Occasional Contributor
Posts: 8

Error: Expecting an arithmetic operator & Syntax error, statement will be ignored

[ Edited ]

I keep getting error warning like this:

1729 DATA PROJECT.MERGE_ALL;
1730 merge REHABILITATION4(in=Phoebe) DISCHARGE5(in=Fredo) EMERGENCY5(in=lego) ;
1731 by COUNTY_Name;
1732 drop county;
1733 if Phoebe Fredo lego;
                          -----
                          388
                           76
ERROR 388-185: Expecting an arithmetic operator.

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

 

 

Can someone help to look what wrong with the code?

Thanks a lot !!!

 

 

 

here is my code:

 

 

DATA PROJECT.MERGE_ALL;
merge REHABILITATION4(in=Phoebe) DISCHARGE5(in=Fredo) EMERGENCY5(in=lego) ;
by COUNTY_Name;
drop county;
if Phoebe Fredo lego;
Format COUNTY_Name $24.;
run;
proc print data=merge_all;
run;
proc contents data= MERGE_ALL;
run;

Super User
Super User
Posts: 6,499

Re: Error: Expecting an arithmetic operator & Syntax error, statement will be ignored

What did you intend by this statement?

if Phoebe Fredo lego;
Super User
Posts: 10,497

Re: Error: Expecting an arithmetic operator & Syntax error, statement will be ignored

When a variable is used in an IF SAS either expects a comparison such as =, <, >, ge or similar if there is a second variable mentioned.

 

Phoebe, Fredo and Lego are currently numeric variables with values of 0 or 1. Depending on what you are attempting then the statement should be

 

If Phoebe =1 AND Fredo=1 and Lego=1; if you want records with all three sets contributing.

This can be shortened to :

If Phoebe And Fredo And Lego; because SAS will treat non-0 and non-missing values as "True" in a comparison.

Ask a Question
Discussion stats
  • 2 replies
  • 215 views
  • 1 like
  • 3 in conversation