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
*(Вопрос) Каждый час я бы хотел, чтобы SPSS автоматически загружал данные из регулярно
обновляемой базы данных (через драйверы ODBC), обрабатывал бы их и записывал результаты в
файл HTML-формата в заданную папку.
	
*(Ответ) Автор: Frank van Rooij, размещено 22.11.2001 в новостной группе SPSS
Я - новичок в написании скриптов, но этот вариант у меня работает (версия SPSS 10.0.7).
Вам потребуется подготовить 1 файл синтаксиса (*.sps) и 1 файл скрипта (*.sbs)


Файл синтаксиса имеет примерно такую структуру:

Get FILE='C:\\temp\\Datafile.sav'.
* Тут вам нужно будет вставить спецификации драйверов ODBC для импорта данных.

FREQUENCIES var1 .
* Это блок анализа. Скажем, вас интересуют частоты

SCRIPT 'C:\\temp\\script1.sbs'.
* В конце вызывается следующий скрипт:



Скрипт выглядит примерно так:

Sub Main


' Следующие команды выполнят экспорт выдачи в файл .html, причём
' каждая новая выдача будет записываться поверх старой:

    Dim objOutputDoc As ISpssOutputDoc	
    Set objOutputDoc=objSpssApp.GetDesignatedOutputDoc
    objSpssApp.Alerts = False	
	
    objOutputDoc.ExportDocument (SpssAll, "c:\\temp\\outputfile.spo", SpssFormatHtml, True)


'  Следующие команды очистят ваше окно выдачи,
'  чтобы подготовить его к следующему запуску синтаксиса:

	Set objOutputDoc=objSpssApp.GetDesignatedOutputDoc
	objOutputDoc.SelectAll
	objOutputDoc.Delete
	
	
' Теперь ждём 1 час...

	Wait(3600)		' 3600 секунд = 1 час


' ...теперь снова запускаем файл синтаксиса на исполнение
' (убедитесь, что к этому моменту не будет других открытых файлов синтаксиса):

	Dim objSyntaxDoc As ISpssSyntaxDoc
	Set objSyntaxDoc=objSpssApp.GetDesignatedSyntaxDoc
	objSyntaxDoc.Run
	
End Sub


Процедура остановится если вы просто закроете файл синтаксиса.