Please look at the documentation. The first parameter must be a regular expression. I have to learn regular expressions before you can use that function.
I know, but something in that likes. A fuzzy match is required.
What are the match criteria? Have you looked at the spelling distance functions?
Are you trying to do something like the following:
data have1; input text $; cards; abc bcd bca fgf ; data have2; input text $; cards; bcd fgf ; proc sql; select text into :from1 separated by '|' from have2 ; create table want as select text from have1 where prxmatch('m/&from1/oi',text)>0 ; quit;
Art, CEO, AnalystFinder.com
Yes Art, Something in that likes!
there are special characters to be compressed from both have1 and have2 as they are not consisternt for matching
Can you provide examples of both datasets and what you want to match from them?
Art, CEO, AnalystFinder.com
the data from two sources is like this,
Have1
Finance Exchequer Credit Bankrupt and Mortgage
Have2
Finance,exchequer,Credit Bankrupt and Mortgage
Trying to match with whole pattern or part of it.
Why not remove the unwanted characters with function compress, and then use spelling distance?
Your example matches with
upcase(compress(TEXT1,' ,')) = upcase(compress(TEXT2,' ,'))
Not always do I get the same pattern. Thats why I'm relying on fuzzy match
Your example doesn't include any fuzzy or fuzzy-like instances. Can you provide an example that does. And, your example appears to have one record with just one variable (containing multiple words) in each file. Is that what you actually have?
Art, CEO, AnalystFinder.com
Yes Art!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.