Quantcast
Channel: ListenData
Viewing all articles
Browse latest Browse all 425

NODUPKEY with PROC SQL

$
0
0
This tutorial explains how to remove duplicates by a column but returns all the columns.
NODUPKEY Feature with PROC SQL
data readin;
input ID Name $ Score;
cards;
1     David   45
1     David   74
2     Sam     45
2     Ram     54
3     Bane    87
3     Mary    92
3     Bane    87
4     Dane    23
5     Jenny   87
5     Ken     87
6     Simran  63
8     Priya   72
;
run;
Solution
Suppose you want to remove duplicates based on name but returns all the variables.
proc sql noprint;
create table tt (drop = row_num) as
select *, monotonic() as row_num
from readin
group by name
having row_num = min(row_num)
order by ID;
quit;
Method 2 :
proc sql noprint;
create table tt as
select name, max(ID)as ID, max(Score) as Score
from readin
group by name;
quit;
The method 2 might not be the desired output. You can also use MIN instead of MAX. 

Viewing all articles
Browse latest Browse all 425