О Basic-скриптах

Скрипты Sax (WinWrap) Basic в SPSS — мощное средство управления интерфейсом

Введение

Скрипты (или сценарии) Sax Basic появились в SPSS не сразу, и только в Windows-версиях пакета. До появления Python они были очень востребованы. Если вы никогда не использовали Visual Basic (VB) или Visual Basic for Applications (VBA), изучение данной возможности программирования займет некоторое время. SPSS использует Sax Basic, разработанный компанией Sax Software. Добавив библиотеку типов (свойств и методов) Sax (Sax's Type Library) в вашу обычную среду разработки (например, VB6, Excel или Access), вы можете создавать сценарии SPSS, используя привычные средства. Таким образом, язык Sax Basic отличается от обычного Visual Basic лишь специальной библиотекой типов.

Скрипты позволяют пользователю сделать то, что нельзя сделать с помощью синтаксиса, например, отформатировать интерактивный график IGRAPH или создать обработчик ошибок. Когда это возможно, я предпочитаю использовать синтаксис вместо скриптов. По мере того, как моё знание синтаксиса росло, я открывал пути делать такие вещи, которые раньше мог делать только через скрипты, например, экспортировать или создать переменную, которая имеет те же метки значений, что и другая переменная. В то время, как синтаксис обрабатывается командным процессором SPSS, скрипты обрабатываются на уровне графической оболочки приложения и оперируют её объектами (документами), их свойствами и методами.

Скрипты могут быть вызваны из синтаксиса и наоборот. Однако важной особенностью здесь является параллельность (или асинхронность) выполнения вызванной программы. Так, например, синтаксис, вызывающий скрипт, не приостанавливается до окончания работы скрипта, а продолжает своё выполнение. При таком параллельном (несогласованном, асинхронном) исполнении этих двух процессов, возможно возникновение ошибок, если в ходе выполнения процессы должны обмениваться данными. Например, синтаксис может попытаться обратиться к результатам работы скрипта в то время, когда второй ещё выполняется (результаты отсутствуют). В некоторых случаях возникновение ошибок будет вовсе не очевидным и пользователь будет озадачен тем, что программа работает без видимых сбоев, но даёт неверные результаты! Таким образом, при комбинировании синтаксиса и скриптов нужно учитывать указанное обстоятельство и составлять программу соответствующим образом. Спасибо Кириллу Орлову за комментарии по данной теме для посетителей русской версии сайта.

Fabrizio Arosio разработал скрипт (см. раздел Утилиты в Библиотеке скриптов), который заставляет выполнять исходный код и вызываемый скрипт в синхронном режиме (последовательно, один за одним). Эта утилита работает, однако вы должны следить за тем, чтобы в конце синтаксиса не оставалось замыкающих пробелов (иначе возникает бесконечный цикл). См. также раздел «Об асинхронности» для получения дополнительной информации.

Важно отметить, что в версиях SPSS для Макинтош (Mac) или Linux скрипты использовать нельзя.

Покажите мне данные, и я найду там ошибки! -

VB-программы

spssrun.exe. Программа была написана Алексис-Микелем Мугабушака (Alexis-Michel Mugabushaka) из университета Касселя (Германия). Она схожа с утилитой для продуктивного режима SPSS (SPSS Production's facility). Вы снабжаете программу перечнем файлов синтаксиса или указываете файл, содержащий перечень файлов синтаксиса, а программа запускает каждый файл один за другим, сохраняя результат каждого синтаксиса в отдельный файл с тем же именем, что и соответствующий файл синтаксиса. См. также скрипт Break output file into smaller pieces.

ViewSav. ViewSav - это кодовая книга с режимом работы в реальном времени для файлов данных SPSS. Программа была написана Карелом Ассельбергсом (Karel Asselberghs) с социологического факультета университета Амстердама. Он также является автором двух других утилит: CRC32SAV и LISTSAV. Первая подсчитывает контрольные суммы для разных частей файла данных SPSS: заголовка, словаря и раздела данных. Это позволяет проверять, совпадают ли эти части у двух разных файлов .sav. Вторая выводит список имён и меток переменных файла данных SPSS (доступен исходный код).

Related pages

...