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
'Решение SPSS AnswerNet, ID:  100007812
'Продукт:  SPSS Tables

'Заголовок: При создании таблицы не высвечивается ИМЯ переменной

'Описание:
'Вопрос:
'Я использую SPSS 8.0.2 (или более позднюю версию). Я создаю таблицу с помощью SPSS Tables
'Я хочу, чтобы в таблице отображались имена переменных, но этого не происходит.
'В настройках Options->Output Labels я заказал отображение Names (имена) в списке "Variables
'In Labels Shown As". Но это не помогает. Что не так?

'Ответ:
'Есть такая проблема в модуле Tables в SPSS 8.0.2 для Windows и в последующих версиях,
'но она может быть легко решена силами пользователя. Достаточно просто назначить переменной
'метку ,совпадающую с её именем. Например (через синтаксис):
'VARIABLE LABELS race "Race" gender "Gender".

'Тогда при использовании SPSS Tables в таблицах будет отображаться (как бы) ИМЯ переменной.

'(по крайней мере, в SPSS 15 проблема ещё сохраняется,
' но для команды CTABLES, например, решается путём простого удаления метки,
' тогда SPSS не будет оставлять вместо метки пустое место, а
' подставит туда имя переменной. Но для команд TABLES проблему можно решить
' только подставив в качестве метки имя переменной - примеч. перев.)

'Если в вашем файле данных много переменных, у которых нет меток,
'назначение меток может занять много времени. Вот пример скрипта, который вы можете вставить в новое
'окно скриптов в SPSS и сохранить его в той папке, где у вас хранятся скрипты для SPSS
'(убедитесь, что файл имеет расширение .sbs).
'Тогда при запуске этого скрипта SPSS назначит метки, тем переменным,
'у которых НЕТ меток так, что метки будут совпадать с именами переменных.

Option Explicit 

Sub Main 

' Скрипт следует выполнить перед запуском команд модуля SPSS Tables.
' Скрипт пройдёт по файлу данных в поисках переменных, не имеющих меток, и для
' этих переменных запустит команду VARIABLE LABELS, которой передадут метки,
' совпадающие с именами этих переменных.


' Объявление переменных скрипта и получение доступа к переменным файла данных:
Dim objSpssInfo As ISpssInfo 
Set objSpssInfo = objSpssApp.SpssInfo 

' Получение числа переменных в файле:
Dim lngNumber As Long 
Dim i As Long 
Dim rotulo, comando As String 
lngNumber = objSpssInfo.NumVariables 

comando = "VARIABLE LABELS " 
For i = 0 To lngNumber - 1 
rotulo=objSpssInfo.VariableLabelAt(i) 
If rotulo = "" Then comando = comando + objSpssInfo.VariableAt(i)+ " '" + objSpssInfo.VariableAt(i)+ "' /" 
Next 

comando = comando + "." 

objSpssApp.ExecuteCommands comando, True 

End Sub