BookmarkSubscribeRSS Feed
bits
Fluorite | Level 6

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"?

2 REPLIES 2
Reeza
Super User

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? 

 

 

RW9
Diamond | Level 26 RW9
Diamond | Level 26

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; 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1443 views
  • 0 likes
  • 3 in conversation