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