DATA Step, Macro, Functions and more

Help with a Data Step

Reply
Occasional Contributor
Posts: 8

Help with a Data Step


Hello,

I'm a relatively new SAS user.  I'm trying to write a data step for the following condition:

I have 2 data sets.  One contains old items.  The other new items.  I need to create a file that show the items on the new file that are not on the old file.

What is the best way to go about this?

Super User
Posts: 17,784

Re: Help with a Data Step

Usually SQL.

But a data step merge works as well, assuming you have some matching_key that is the product identifier then something like the following will work.

The key is the IN Data Set Option.

SAS(R) 9.2 Language Reference: Dictionary, Fourth Edition

data new_not_in_old;

merge new (in=newFile)

          old (in=oldFile);

by matching_key;

if newFile and not oldFile;

run;

Occasional Contributor
Posts: 8

Re: Help with a Data Step

Thank you so much!  This answer really helped me!

Super User
Posts: 10,483

Re: Help with a Data Step

Depending on sort order of the two. It helps if both datasets are sorted in the same order. A lot.

You should define items. Is it records or variables, or both?

Proc Compare Base=OldData Compare=NewData listcompobs ;run;
will give a list of RECORD numbers in the NewData that don't exist in the Olddataset.

Proc Compare Base=OldData Compare=NewData listcompvar ;run;

List variables in the NewData not in OldData

Proc Compare Base=OldData Compare=NewData listcomp ;run;

Does what appears in both.

Occasional Contributor
Posts: 8

Re: Help with a Data Step

Thank you so much!  This answser really helped me!

Super User
Posts: 9,671

Re: Help with a Data Step

proc sql;

select item from new

except

select item from old ;

quit;

Occasional Contributor
Posts: 8

Re: Help with a Data Step

Thank you so much!  This answer really helped me!

Ask a Question
Discussion stats
  • 6 replies
  • 268 views
  • 6 likes
  • 4 in conversation