Desktop productivity for business analysts and programmers

proc sort data - dupout nodupkey issue

Reply
Contributor
Posts: 34

proc sort data - dupout nodupkey issue

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? 

Frequent Contributor
Posts: 93

Re: proc sort data - dupout nodupkey issue

 

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;
Respected Advisor
Posts: 4,976

Re: proc sort data - dupout nodupkey issue

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.

Ask a Question
Discussion stats
  • 2 replies
  • 188 views
  • 1 like
  • 3 in conversation