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
* Взято из конференции spss usenet; Автор: Bjarte Aagnes, 14.11.1999.

set mprint=on.
*Приведём какие-то данные.
DATA LIST FREE /v1.
BEGIN DATA
142 132 13 134 2 6 3 6 1 1 23 345 34
END DATA.

RANK v1 /n into N.
* N содержит число наблюдений в файле данных.
* Создадим подмакрос, который будет вызываться из основного макроса.

DO IF $CASENUM=1.
WRITE OUTFILE 'c:\\temp\\temp.sps' /"DEFINE !subN()"/n/"!ENDDEFINE.".
END IF.
EXE.

INCL FILE="c:\\temp\\temp.sps".
/* Число наблюдений в файле данный теперь доступно через макрос !subN */.

*Определим основной макрос.
DEFINE !MAIN()
COMPUTE NewN=!subN*2.
EXE.
!ENDDEFINE.

*Запустим основной макрос.

!MAIN.