DATA Step, Macro, Functions and more

If then-else with prxmatch

Reply
Occasional Contributor
Posts: 19

If then-else with prxmatch

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

I've tried to run above code and in result I got a new dataset with found=0 only... as I want to do pattern matching so prxmatch should be there.. 

thanksSmiley Happy

Super User
Super User
Posts: 7,413

Re: If then-else with prxmatch

Post test data in the form of a datastep, we can't see your data!

Super Contributor
Posts: 251

Re: If then-else with prxmatch

[ Edited ]

I don't have access to your source data, but when I run

data work.systems;
set sashelp.cars;
if prxmatch('m/Acura|Quattro|Ford/oi',model) > 0
   then found=1;
   else found=0;
run; 

it works fine.

 

If you want to get fast accurrate solutions, posting the data you're using is recommended. It's fortunate there's a similar dataset in sashelp.

Occasional Contributor
Posts: 19

Re: If then-else with prxmatch

[ Edited ]

hey thanks for reply...actually im using bit old sas version i.e SAS 9.0... so does this makes any impact while running the code? @LaurieF

Super Contributor
Posts: 251

Re: If then-else with prxmatch

I can't tell. It should work. But as I said, let's see your data and we'll find out.
Occasional Contributor
Posts: 19

Re: If then-else with prxmatch

[ Edited ]

here is the dataset which im using for this code @LaurieF

Attachment
Super User
Super User
Posts: 7,413

Re: If then-else with prxmatch

These are the modifier which work in 9.1,

https://support.sas.com/rnd/base/datastep/perl_regexp/regexp-tip-sheet.pdf

Sorry, 9.0 is so antiquated they had to have documentatioon on stone tablets.  Seriously, upgrade there is no benefit to staying on an old version.

Super Contributor
Posts: 251

Re: If then-else with prxmatch

I'm with @RW9 - upgrade, if you're in the position to do it. If you can't, stick with multiple index or indexw calls, which will work fine.

Ask a Question
Discussion stats
  • 7 replies
  • 144 views
  • 1 like
  • 3 in conversation