How can I evaluate a variable to create another if the if function does not allow the like operator?
For example is easy if var is numeric, like:
IF VAR1 = 0 THEN VAR2 = 'A';
But if I need to evaluate something inside string of characters how can it be?
some like:
IF VAR1 LIKE "%A%" THEN VAR2 = "CONTAINS LETTER A"
What operator can I replace to LIKE?
Either the INDEX or FINDC functions.
Art, CEO, AnalystFinder.com
thank you Art, and do you know how can I do it like a evaluate a list?
I know this does not work but is only an example:
IF VAR1 IN ('%A%','%B%','%C%') THEN VAR2 = 'CONTAINS LETTERS A B or C'
If I use this works:
IF INDEX(VAR1,'A') THEN VAR2 = 'CONTAINS LETTERS A B or C'
IF INDEX(VAR1,'B') THEN VAR2 = 'CONTAINS LETTERS A B or C'
IF INDEX(VAR1,'C') THEN VAR2 = 'CONTAINS LETTERS A B or C'
But is it possible to simplify it?
I simplified like this:
IF INDEX(VAR1,'A') or INDEX(VAR1,'B') or INDEX(VAR1,'C') THEN VAR2 = 'CONTAINS LETTERS A B or C'
but is there another way tah you know more shorten? some like:
IF INDEX(VAR1,'A','B','C') THEN VAR2 = 'CONTAINS LETTERS A B or C'
Thanks
Please try
if prxmatch('m/[abc]/i',VAR1) then VAR2="CONTAINS LETTER A or B or C";
alternatively we could try the perl regular expression like below
if prxmatch('m/[a]/i',VAR1) then VAR2="CONTAINS LETTER A";
the findc function allows you to both find if a string contains one or more of the variables in a list, as well as ignore case (if desired). e.g.:
data want;
informat string $23.;
input string &;
if findc(string, 'abc', "i") then
want='Contains A, B or C';
datalines;
Microsoft Office Visio
Microsoft Office Word
Adobe Photoshop
Adobe PhotoshopPro
Internet Explorer
;
Art, CEO, AnalystFinder.com
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.