I've got a table A with a field named Software. Table B has a field called Exclude. I'd like to chose all the records from A where the words to exclude are not part of the Software name. For example:
Table A
Software
Microsoft Office Visio
Microsoft Office Word
Adobe Photoshop
Internet Explorer
Table B
Exclude
Office
House
Barn
Would produce:
Table C
Software
Adobe Photoshop
Internet Explorer
This should do what you want for your example
proc sql; create table TableC as select distinct tableA.* from TableA, TableB where indexw(upcase(table.Software),upcase(TableB.Exclude))=0; quit;
I think this might work better:
proc sql noprint;
select Exclude into :excludes separated by '|'
from TableB
;
quit;
data tableC;
set tableA;
if prxmatch("m/&excludes./oi",software) = 0;
run;
HTH,
Art, CEO, AnalystFinder.com
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.