SAS Enterprise Guide

Desktop productivity for business analysts and programmers
BookmarkSubscribeRSS Feed
Sean_OConnor
Obsidian | Level 7

Folks,

 

I've merged two datasets and have some reason duplicates corrected within it. I would like to know where these duplicates exist. Thus I've used the following piece of code;

 

proc sort data=accs dupout=dups nodupkey out=correct; by idinternal customernumber idoccurrence;
RUN;

In the accs dataset I've 315,050 observations and in the correct dataset I've 312,326. However, the dups dataset is empty. 

 

So it would appear that I've circa 2,700 duplicate observations but they are no where to be seen? 

 

Could somone shed some light on the this issue, please? 

2 REPLIES 2
thomp7050
Pyrite | Level 9

 

Try this, to view the total occurrences for each permutation of your variables:

 

PROC SQL; 
CREATE TABLE TOTALOCCURRENCE AS
SELECT IDINTERNAL, CUSTOMERNUMBER, IDOCCURRENCE, COUNT(*) AS TOTAL FROM ACCS GROUP BY IDINTERNAL, CUSTOMERNUMBER, IDOCCURRENCE;
QUIT;

Then, after viewing, if you would like a dataset of distinct occurrences, you could write:

 

PROC SQL;
CREATE TABLE ALLDISTINCT AS
SELECT DISTINCT IDINTERNAL, CUSTOMERNUMBER, IDOCCURRENCE FROM ACCS;
QUIT;
Astounding
PROC Star

It looks like NODUPKEY is kicking in, removing duplicates before the DUPOUT= option can examine.  Try removing NODUPKEY and see if that resolves the problem.

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 4446 views
  • 1 like
  • 3 in conversation