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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
* Преобразования структуры файла с использованием CASESTOVARS и VARSTOCASES.
* (эти команды и визуальный мастер преобразований доступны, начиная с 12 версии SPSS).

*************.
* ПРИМЕР 1:
*************.

ВОПРОС: Имеется база данных, где разделённые во времени измерения одних и тех же объектов представлены
 в разных строках/наблюдениях. Можно ли преобразовать эти данные в такой формат, где все наблюдения, 
 относящиеся к одному и тому же объекту (пусть и в разное время) были представлены набором переменных
 в одной строке?

ОТВЕТ:  Мастер преобразований (Restructure Wizard) поможет перестроить структуру файла от нескольких строк
на одно наблюдение к одной строке на наблюдение, добавив необходимое число переменных. Ниже приводится фрагмент кода, 
полученного из меню Data...Restructure, вставка которого не требует значительных усилий в программировании.

DATA LIST /ID 2 TIME 5-11 (A) SCORE 13-14.
begin data.
 1  before  73
 1  during  77
 1  after   84
 2  before  58
 2  after   95
 3  before  68
 3  during  70
 3  after   75
end data.

LIST.

SORT CASES BY ID TIME .
CASESTOVARS
 /ID = ID
 /INDEX = TIME
 /GROUPBY = VARIABLE .

* Изменим порядок следования переменных в файле.

MATCH FILES FILE=*
	/KEEP=id before during after.
EXECUTE.


*************.
*ПРИМЕР 2:
*************.

ВОПРОС:  Имеется база данных, где разного рода информация по одному человеку записана в одну строку.
 Для моего анализа требуется, чтобы эта разнородная информация была представлена в нескольких строках с 
 сохранением в каждой строке кода человека, к которому эта информация относится. Я могу нанять программиста
 для того, чтобы сделать такие преобразования, но на это уйдёт много времени. Нельзя ли в SPSS сделать это
 относительно просто?

ОТВЕТ:  Тот же мастер преобразований (Restructure Wizard) поможет перейти от структуры с одной записью на объект
 к структуре с несколькими записями на объект. Полученный файл может быть использован в разных процедурах, в том числе, 
 в процедуре агрегирования (Aggregate).

DATA LIST /ID 2 GROUP 4 Grade1 6-7 Grade2 9-10 Grade3 12-13 Grade4 15-17.

BEGIN DATA.
 1 1 11 13 15 18
 2 1 12 18 16 25
 3 2 11 13 13 14
 4 2 18 20  . 29 
 5 3 13 13 13 18
 6 3  9 15 21 35
END DATA.

LIST.

VARSTOCASES /ID = id1
 /MAKE SCORES FROM Grade1 Grade2 Grade3 Grade4
 /INDEX = Index(4)
 /KEEP =  GROUP
 /NULL = KEEP
 /COUNT = NUMRECORDS.