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
*(Вопрос) Как создать "глобальную" переменную.
>То, что мне требуется - это иметь некоторую переменную, скажем, MYNUMBER, которую я изменяю через
>синтаксис. Допустим, в начале файла синтаксиса я говорю, что 
>MYNUMBER=83, и далее в синтаксисе ссылаюсь только на 
>MYNUMBER (имея в виду 83).  И потом, если мне потребуется изменить MYNUMBER
>на, скажем, 104, я смогу это сделать лишь единожды, не изменяя далее в программе
>это значение всякий раз, когда оно встречается.

*(Ответ) Размещено в новостой группе SPSS 25.03.2002. Автор: Raynald Levesque.
* Лучший способ - использовать макрос.

* Например.
DEFINE mynumber()83!ENDDEFINE.

GET FILE='c:\\program files\\spss\\employee data.sav'.
COMPUTE sal=salary*mynumber.

*************.
* Комментарии:

Использование временной переменной, например,  
COMPUTE #mynumb=83.
неудачный вариант, так как данная переменная исчезнет после вызова первой
статистической процедуры или команды EXECUTE.

Использование дополнительной обычной переменной, например, 
COMPUTE mynumber=83.
возможно, но лишь в пределах текущего рабочего файла. Если вы загрузите другой файл .sav, 
данная переменная у вас потеряется. Конечно, есть способы постоянно подшивать эту переменную
ко всем файлам, сохраняя её во внешний файл и сливая файлы, но это
значительно более трудоёмко, чем использование макроса.