I'm assuming you actually used semicolons to end your statements, and you merged using a MERGE statement rather than a SET statement.
The basic problem is that you have a common variable, SUBJECT, in both data sets. There are a couple of ways to deal with that. To ignore all SUBJECT values in one data set, you could just drop it:
data final;
merge new (drop=subject in=a) new1;
by name class;
if a;
run;
I would assume you are merging by both variables, and not just by NAME.
The problem gets a little more complex if you need to compare the SUBJECT values in the two data sets, to see which you want to use.
Good luck.
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.