What is the difference between nodup and nodupkey options?
Answer Posted / majid
data test1;
input id1 $ id2 $ extra ;
cards;
aa ab 3
aa ab 1
aa ab 2
aa ab 3
;
proc sort nodup data=test1;
by id1 ;
run;
proc print data=test1;
run;
output will be like this:
Obs id1 id2 extra
1 aa ab 3
2 aa ab 1
3 aa ab 2
4 aa ab 3
*nodup" is an alias for "noduprecs" which appears to
mean "no duplicate records" but there is no way sas can
know about these duplicate records unless they, by chance,
land next to each other in sequence It is a big mistake
to think sorting "nodup" will remove duplicate records.
Sometime it will, sometime it won't. The only way you can
be sure of removing duplicate records is to "proc sort
nodupkey" and include enough key variables to be sure you
will lose the duplicates you want to lose. In the case
shown above, then if we knew of the same "extra" values
being duplicates we wanted to remove then this variable
should be included in the list of sort variables and
then "nodupkey" will remove the duplicates as shown below.
;
proc sort nodup data=test1;
by id1 id2 extra;
run;
proc print data=test1;
run;
output will be like this:
Obs id1 id2 extra
1 aa ab 1
2 aa ab 2
3 aa ab 3
so as u can see nodup eliminated all duplicate observations
if you sort them by all variables but nodupkey will show
only the duplicate observation.
proc sort nodupkey data=test1;
by id1 ;
run;
options nocenter;
proc print data=test1;
run;
output will be like this:
Obs id1 id2 extra
1 aa ab 3
| Is This Answer Correct ? | 22 Yes | 6 No |
Post New Answer View All Answers
what are several options for creating reports in web report studio? : Sas-bi
Mention the validation tools used in SAS?
what is sas database server? : Sas-di
Explain what is the use of proc gplot?
How does the internal authentication work in sas? : sas-grid-administration
Explain translate function?
Why double trailing @@ is used in input statement?
What is substr function?
What is the order of application for output data set options, input data set options and SAS statements?
What are the default statistics that proc means produce?
Describe the ways in which you can create a macro variable?
What are the functions which are used for character handling functions?
what is sas application server? : Sas-di
how are numeric and character missing values represented internally? : Sas programming
Explain the use of proc gplot? : sas-grid-administration