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