Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MC-91(Зуйкова) / IBM_SPSS_Statistics_Core_System_Users_Guide.pdf
Скачиваний:
158
Добавлен:
08.02.2015
Размер:
6.76 Mб
Скачать

453

Скрипты

Программа Python, выполняемая из скрипта Python. Скрипты Python могут выполнять командный синтаксис, что означает, что они могут выполнять командный синтаксис, содержащий программы Python.

Ограничения и предупреждения

Выполнение программы Python из редактора Python, запущенного SPSS Statistics, запустит новый экземпляр процессора SPSS Statistics и не будет взаимодействовать с экземпляром SPSS Statistics, который запустил редактор.

Программы Python не предназначены для выполнения из меню Сервис>Запустить скрипт.

Программы Python нельзя выполнять как автоскрипты.

Интерфейсы, созданные модулем spss, не могут использоваться в скрипте Python.

Редактор скриптов для языка программирования Python

Для языка программирования Python редактором по умолчанию является IDLE, предоставляемый компанией Python. IDLE предоставляет интегрированную среду разработки (IDE) с ограниченным набором возможностей. Для языка программирования Python имеется много IDE. Например, для Windows можно выбрать свободно распространяемую PythonWin IDE.

Для того, чтобы изменить редактор скриптов для языка программирования Python, выполните такие действия:

EОткройте файл clientscriptingcfg.ini, расположенный в папке, где установлена IBM® SPSS® Statistics. Примечание: Файл clientscriptingcfg.ini должен редактироваться в текстовом редакторе, поддерживающем кодировку UTF-16, например SciTE в Windows или TextEdit в Mac.

EВ разделе с названием [Python] измените значение EDITOR_PATH на расположение исполнимого файла для нужного редактора.

EВ этом же разделе измените значение EDITOR_ARGS для обработки каких-либо аргументов, которые нужно передавать редактору. Если аргументы не нужны, удалите все присутствующие значения.

Написание скриптов в Basic

Скрипты на языке Basic возможны только в ОС Windows, и они устанавливаются вместе с Базовой системой. Обширную оперативную подсказку по написанию скриптов на языке Basic можно найти в IBM® SPSS® Statistics Редакторе скриптов Basic. Получить доступ к этому редактору можно из меню Файл>Создать>Скрипт, когда язык скриптов по умолчанию (устанавливаемый на закладке Скрипты диалогового окна Параметры) установлен в значение Basic (значение по умолчанию для Windows). К нему также можно получить доступ из меню Файл>Открыть>Скрипт и выбрав Basic (wwd;sbs) в списке Тип файла.

454

Глава 22

Совместимость с более ранними версиями,чем версия 16.0

Устаревшие методы и свойства

Для версии 16.0 и более поздних ряд методов и свойств автоматизации устарел. В смысле общих функциональностей, сюда входят все объекты, связанные с интерактивными графиками, объектом Черновик документа и методами и свойствами, связанными с картами. Дополнительные сведения см. в “Release Notes for Version 16.0” системы оперативной справки, предоставляемой вместе с IBM® SPSS® Statistics Редактором скриптов Basic. Доступ к справке для SPSS Statistics можно получить из меню Справка объектов справки>SPSS Statistics в редакторе скриптов.

Глобальные процедуры.

До версии 16.0 функция написания скриптов содержала файл глобальных процедур. Для версии 16.0 и более поздних функция написания скриптов не содержит файл глобальных процедур, хотя для обратной совместимости устанавливается более ранняя, чем 16.0 версия

Global.sbs (переименованного в Global.wwd).

Для того, чтобы перенести более раннюю, чем 16.0 версию скрипта, который вызывает функции в файле глобальных процедур, добавьте оператор '#Uses "<install dir>\Samples\Global.wwd" к разделу описаний скрипта, где <install dir> - папка,

в которой установлена SPSS Statistics. '#Uses является специальным комментарием, распознаваемым процессором скриптов Basic. Если нет уверенности в том, что скрипт использует файл глобальных процедур, следует добавить оператор '#Uses. Можно также использовать '$Include: вместо '#Uses.

Устаревшие автоскрипты

До версии 16.0 функция написания скриптов содержала один файл автоскриптов, содержащий все автоскрипты. Для версии 16.0 и выше единого файла автоскриптов нет. Теперь каждый автоскрипт хранится в отдельном файле и может применяться к одному или нескольким элементам вывода в противоположность версиям, более ранним, чем 16.0, где для каждого конкретного элемента вывода был свой автоскрипт.

Некоторые из автоскриптов, устанавливаемых в версиях до 16.0, имеются в виде набора отдельных файлов скриптов, расположенного во вложенной папке Samples в папке, где установлено программное обеспечение SPSS Statistics. Их можно определить по имени файла, заканчивающемуся на Autoscript и типу файла wwd. По умолчанию они не связаны ни с какими элементами вывода. Связывание осуществляется на закладке Скрипты диалогового окна Параметры. Дополнительную информацию см. данная тема Параметры скриптов в Данная глава 17 на стр. 363.

455

Скрипты

Любые пользовательские автоскрипты, применявшиеся в версиях до 16.0, нужно преобразовать вручную и связать с одним или несколькими элементами вывода на закладке Скрипты диалогового окна Параметры. Для преобразования нужно выполнить следующие шаги:

EИзвлечь из устаревшего файла Autoscript.sbs подпрограмму, задающую автоскрипт,

исохранить ее в новом файле с расширением wwd или sbs. Имя файла может быть произвольным.

EИзмените имя подпрограммы на Main и удалите спецификацию параметров, следя за тем, какие параметры нужны скрипту, например такие, как мобильная таблица, которая запускает этот автоскрипт.

EВоспользуйтесь объектом scriptContext (он всегда имеется) для получения значений, нужных для автоскрипта, таких, как элемент вывода, который запускает этот автоскрипт.

EНа закладке Скрипты диалогового окна Параметры свяжите файл скрипта с нужным объектом вывода.

Для иллюстрации преобразованного кода рассмотрим автоскрипт

Descriptives_Table_DescriptiveStatistics_Create из устаревшего файла Autoscript.sbs.

Sub Descriptives_Table_DescriptiveStatistics_Create _

(objPivotTable As Object,objOutputDoc

As Object,lngIndex As Long)

'Autoscript

 

Table Creation after running

'Trigger Event: DescriptiveStatistics

'

Descriptives procedure.

'Цель: Меняет местами строки и столбцы в активной в настоящее время мобильной таблице. 'Предположения: Выбранная мобильная таблица уже активирована.

'Эффекты: Меняет местами строки и столбцы в выводе

'Входы: Pivot Table, OutputDoc, Item Index

Dim objPivotManager As ISpssPivotMgr

Set objPivotManager=objPivotTable.PivotManager objPivotManager.TransposeRowsWithColumns

End Sub

Ниже приведен преобразованный скрипт:

Sub Main

'Цель: Меняет местами строки и столбцы в активной в настоящее время мобильной таблице. 'Эффекты: Swaps the Rows and Columns in the output

Dim objOutputItem As ISpssItem

Dim objPivotTable as PivotTable

Set objOutputItem = scriptContext.GetOutputItem()

Set objPivotTable = objOutputItem.ActivateTable

Dim objPivotManager As ISpssPivotMgr

Set objPivotManager = objPivotTable.PivotManager objPivotManager.TransposeRowsWithColumns objOutputItem.Deactivate

End Sub

456

Глава 22

Обратите внимание на то, что в преобразованных скриптах ничто не указывает, к какому объекту должен применяться скрипт. Связь между элементом вывода и автоскриптом устанавливается на закладке Скрипты диалогового окна Параметры и поддерживается из сеанса в сеанс.

scriptContext.GetOutputItem получает элемент вывода (объект ISpssItem),

который запустил этот автоскрипт.

Объект, который возвратил scriptContext.GetOutputItem, не активирован. Если для скрипта необходим активированный объект, то его нужно активировать, как это сделано в данном примере с помощью метода ActivateTable. По завершении действий с какими-либо таблицами нужно вызвать метод Deactivate.

Для версии 16.0 нет различия между скриптами, выполняемыми как автоскрипты и скриптами, которые не выполняются как автоскрипты. В обоих контекстах можно использовать любой скрипт, содержащий надлежащий код. Дополнительную информацию см. данная тема Объект scriptContext на стр. 457.

Примечание: Чтобы запустить скрипт из события создания приложения, см. Стартовый скрипт.

Редактор скриптов

Для версии 16.0 и выше редактор скриптов для Basic уже не поддерживает следующие функции версий до16.0:

Меню Скрипт, Анализ, График, Сервис и Дополнения.

Возможность вставить командный синтаксис в окно скрипта.

Редактор скриптов Basic SPSS Statistics является отдельным приложением, запускаемым из SPSS Statistics с помощью меню Файл>Создать>Скрипт, файл>Открыть>Скрипт, или Сервис>Создание или изменение автоскрипта (из окна Viewer). Это позволяет выполнять скрипты для экземпляра SPSS Statistics, из которого он был запущен. Будучи однажды открытым, редактор остается открытым после выхода из SPSS Statistics, но скрипты, использующие объекты SPSS Statistics, выполняться не будут.

Типы файлов

Для версии 16.0 и выше функция написания скриптов будет поддерживать выполнение и редактирование скриптов с типом файла sbs. По умолчанию, новые скрипты Basic, созданные с помощью редактора скриптов Basic SPSS Statistics, имеют тип файла wwd.

Использование внешних COM-клиентов

Для версии 16.0 и выше идентификатор программы для создания экземпляра SPSS Statistics из внешнего COM-клиента - SPSS.Application16. Объекты приложения должны быть декларированы как spsswinLib.Application16. Например:

Dim objSpssApp As spsswinLib.Application16

Set objSpssApp=CreateObject("SPSS.Application16")