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 ...
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.