Hey Guys,
I have a problem, I want to merge 2 sas tables with some WHERE restrictions.
My code is as follows
data merged;
merge table1 (in=a (...) where=(month=""))
table2(in=b (...) where=(month between "201706" and "201806 or last_month between "201706 and "201806" and not anyalpha(PERSONAL_ID)));
by personal_id;
(...)
run;
Somehow, the code doesn't get the anyalpha statement and thus can't merge the two tables. I think more work needs to be done within the second WHERE statement but not sure how to solve the problem.
When I sort out the IDs with alpha characters in a data step before the merger, it works out. But not within the merge statement
Cheers!
As posted, your second where= dataset option has a problem because of missing quotes.
Please post some example data (data steps with datalines) that illustrate your issue (unless solving the missing quotes problem also solves your issue).
There are a few mistakes here:
1) missing quote from after 201806 in both instances
2) month (numeric) cannot be within a string
3) month (number 1-12) cannot be within a 2 year gap - which would need to know year.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.