Hi, how do I create an INLIST pn an IF FIND?
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;
Then the simplest way is:
if char(posting_cat_2,1) in ("a","b"...) then ...;
@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 😉
Hello,
if prxmatch('/[a-j]\./',posting_cat2_new) then ...
@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 ...
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 ...
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.