BookmarkSubscribeRSS Feed

Hi, how do I create an INLIST pn an IF FIND?



7 REPLIES 7
RW9
Diamond | Level 26 RW9
Diamond | Level 26

What does posting_cat_2 look like.  Post your test data in the form of a datastep so that we can see what you see and assess the best way to achieve this.  If that variable just contains a, b, or c then:

select(posting_cat_2);

  when ('a') ...

...

 

If it contains more, then what happens if more than one appear in the string?  Is there a defining pattern which can identify these uniquely?

 

You may find it simpler to do a quick loop:

do i=1 to lengthn(posting_cat_2);
  if char(posting_cat_2,i) in ('a','b',...) then perf='3) >=...';
end;
 
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Then the simplest way is:

if char(posting_cat_2,1) in ("a","b"...) then ...;

 

Kurt_Bremser
Super User

@RW9 wrote:

Then the simplest way is:

if char(posting_cat_2,1) in ("a","b"...) then ...;

 


or

if scan(posting_cat,1,'.') in ('a','b',...) then ...;

just for adding another option 😉

gamotte
Rhodochrosite | Level 12

Hello,

 

if prxmatch('/[a-j]\./',posting_cat2_new) then ...

Haikuo
Onyx | Level 15

@gamotte wrote:

Hello,

 

if prxmatch('/[a-j]\./',posting_cat2_new) then ...


I like it. I would just tweak a little to make it more robust,

 

if prxmatch('/^[a-j]\./',left(posting_cat2_new)) then ...

 

Astounding
PROC Star

If your sample values are all left-hand justified, you can also use:

 

if posting_cat2_new in : ('a.', 'b.', 'c.', 'd.', 'g.', 'h.', 'k.', 'i.', 'j.') then ...

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 1361 views
  • 1 like
  • 6 in conversation