1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
* Ищем и удаляем дубликаты наблюдений.
* Автор: rlevesque@videotron.ca.

* Создадим пример данных.
DATA LIST LIST /id(F8) var1(F8) var2(F8).
BEGIN DATA.
2 1 1
2 1 1 
5 3 6 
4 4 7 
3 4 8
3 4 8
3 4 8
2 3 1
END DATA.

SORT CASES BY id.
* Найдём продублированные записи (в переменной n будет содержаться их количество).
AGGREGATE OUTFILE='temp.sav' /BREAK=ALL /N=n.

* Добавим число дубликатов к каждой записи исходного файла (если надо).
MATCH FILES /FILE=*
 /TABLE='temp.sav' 
 /BY id var1 var2.
EXECUTE.

* А если требуется просто исключить дубликаты, выполняем следующие команды (начиная с исходных данных).
SORT CASES BY id var1 var2.
MATCH FILES /FILE=*
 /FIRST = top /BY id var1 var2.
SELECT IF top.
EXECUTE.