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
33
34
35
36
37
* Как сделать строковые значения переменной lab1 метками значений переменной var1.
* Автор: rlevesque@videotron.ca.

* пример данных.
DATA LIST LIST /var1(F8) lab1(A8).
BEGIN DATA.
1 one 
1 one 
2 two 
3 three 
3 three
END DATA.
LIST.

SAVE OUTFILE='test1.sav'.

* Во-первых, сохраним только наблюдения с уникальными значениями var1.
AGGREGATE
  /OUTFILE=*
  /BREAK=var1
  /lab1 = FIRST(lab1) .

STRING quot(A1).
COMPUTE quot="'".
* Внимание: переменная lab2 должна быть на 2 символа длиннее lab1.
* Однако, максимум эффективной длины lab2 в данном случае - 60. Если длина lab1 превосходит 58, используйте
*	COMPUTE lab2=CONCAT(quot,SUBSTR(lab1,1,58),quot) вместо линии COMPUTE ниже.
STRING lab2(A10).
COMPUTE lab2=CONCAT(quot,lab1,quot).

* создаём синтаксный файл для определения меток.
WRITE OUTFILE 'temp.sps' /"ADD VALUE LABELS var1 " var1 " " lab2 ".".
EXE.

* Загружаем исходный файл и вызываем синтаксис, дающий метки значений.
GET  FILE='test1.sav'.
INCLUDE 'temp.sps'.