DATA Step, Macro, Functions and more

If/ Else statement error

Reply
Occasional Contributor
Posts: 19

If/ Else statement error

[ Edited ]

I have submitted this code but getting an error as:

 

 

data=work.systems;                                                                                                                      
set=work.carsales;                                                                                                                      
if prxmatch("m/Acura|Dodge|Ford/oi",Manufacturer) > 0 then found=1;                                                                     
else found=0;                                                                                                                           
run; 

 

data=work.systems;
----
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

81 set=work.carsales;
---
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

82 if prxmatch("m/Acura|Dodge|Ford/oi",Manufacturer) > 0 then found=1;
--
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

83 else found=0;
----
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

84 run;
85 data=work.systems;
----
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

86 set=work.carsales;
---
180

 

 

Currently Im using SAS 9.0 so just want to ask "is this due the old SAS version that Im using"?

Super User
Posts: 17,812

Re: If/ Else statement error

No. your code has errors. As noted your DATA and SET statements are incorrect, remove the = sign. 

 

I dont know if the PRX is correct but you can reply after fixing those basic errors. 

 

SAS 9.0 would be 15 years old so I seriously hope that's not the case.  And if so, why? 

 

 

Super User
Super User
Posts: 7,401

Re: If/ Else statement error

Just another point, you are doing a binary yes/no if statement, so save yourself a bit of typing and use ifc/ifn functions:

data work.systems;                                                                                                                      
  set work.carsales;                                                                                                                      
  found=ifn(prxmatch("m/Acura|Dodge|Ford/oi",Manufacturer),1,0);                                                                                                                           
run; 
Ask a Question
Discussion stats
  • 2 replies
  • 119 views
  • 0 likes
  • 3 in conversation