Professional Documents
Culture Documents
Pgina 1 de 7
Tema 4:
Los procesos de SPSS son programas que utilizan el lenguaje de programacin Visual Basic para Aplicaciones (VBA). Estos programas interactan con SPSS usando los objetos disponibles para la aplicacin estadstica. Dado que estos objetos utilizan la tecnologa OLE de Microsoft (Object Linking and Embedding), pueden usarse dentro de las macros de Word o Excel o dentro de cualquier lenguaje de programacin como Visual Basic, C++ o Delphi. Como ya es conocido, los lenguajes de programacin orientados a objetos se basan en la utilizacin de tales objetos, que pueden verse como contenedores de datos y cdigo. Los objetos se definen mediante clases y las aplicaciones interactan con ellos utilizando sus propiedades (permiten a una aplicacin recuperar y/o cambiar los datos de los objetos) y mtodos (acciones que se programan para que las realice el objeto). Es posible combinar archivos de procesos y de rdenes para obtener una mayor flexibilidad, ejecutando un proceso desde un fichero de rdenes o incluyendo las rdenes de SPSS dentro de un proceso. Sin embargo, un importante problema al trabajar de este modo, es que si se define una orden para llamar al proceso desde dentro de un fichero de rdenes de SPSS, el proceso ser ejecutado cuando finalice la ejecucin del fichero de rdenes. En el caso contrario ocurre lo mismo, cuando un proceso llama a las rdenes de SPSS; tales rdenes se ejecutarn slo cuando haya finalizado la ejecucin del proceso.
15/10/2008
Pgina 2 de 7
Los procesos funcionan gestionando los objetos mediante propiedades y mtodos. Por ejemplo, las tablas son una clase de objetos. Con los objetos de esta clase, se puede utilizar el mtodo SelectTable para seleccionar todos los elementos de la tabla y emplear la propiedad TextColor para cambiar el color del texto seleccionado. Adems, cada una de estas clases posee propiedades y mtodos especficos asociados a ella. El conjunto de todas las clases (o tipos) de objetos se denomina biblioteca de tipos de SPSS. Otros dos conceptos claves en VBA son los mtodos y las propiedades. Los mtodos se refieren a las operaciones que pueden realizarse sobre un objeto. Otro caso es ResizeColumn, que es un mtodo que modifica la anchura de una columna en una tabla. Las celdas en una tabla tienen propiedades tales como anchura, altura y color, que pueden cambiarse con diversos mtodos. Una de tales propiedades es TexFontAt, que devolver el tipo de fuente en una celda definida por el usuario. La utilizacin de objetos es un proceso que consta de dos fases. En primer lugar, se crea una referencia al objeto (que se denomina obtencin del objeto). Despus, se utilizan sus propiedades y mtodos para realizar algo. Se obtienen objetos explorando la jerarqua de objetos y utilizando en cada paso propiedades o mtodos de los objetos superiores en la jerarqua para obtener los objetos ubicados por debajo. Por ejemplo, para obtener un objeto de tabla, primero debe obtener el documento de resultados que contiene la tabla y, despus, las componentes de ese documento de resultados.
15/10/2008
Pgina 3 de 7
Cada objeto que se obtiene se almacena en una variable (teniendo claro que lo que realmente se almacena en la variable es una referencia al objeto). A menudo, uno de los primeros pasos en la creacin de un proceso consiste en declarar variables para los objetos que se van a necesitar. Por ejemplo, supongamos que seleccionamos un programa referente a una tabla. Para ejecutarlo, primero activaramos la tabla que deseamos modificar haciendo click sobre ella. Para ejecutar las modificaciones realizadas, se hace click sobre el icono de la barra de herramientas con una flecha verde.
Es posible tambin el camino inverso, es decir, se pueden utilizar objetos de SPSS para trabajar con Visual Basic, pero este aspecto no lo trataremos aqu, si bien el procedimiento es muy similar al que describimos.
Ejecutar casos no seleccionados. Repite un anlisis factorial o discriminante utilizando los casos no seleccionados en un anlisis anterior. Antes de ejecutar el proceso se debe seleccionar una tabla Notas producida por una ejecucin anterior de Factor o de Discriminante.
Cambiar significacin a p en las etiquetas de columna de las tablas. Se debe seleccionar la tabla antes de ejecutar el proceso.
15/10/2008
Pgina 4 de 7
Limpiar navegador. Elimina todas las tablas y las notas de un documento de resultados. Antes de ejecutar el proceso el documento debe estar abierto en la ventana del Visor designada.
Insertar estadsticos de una tabla de estadsticos de frecuencias como notas al pie en la tabla de frecuencias correspondiente para cada variable. Antes de ejecutar el proceso se debe seleccionar la tabla de estadsticos de frecuencia.
Aplicar el formato negrita y el color azul a cualquier fila, columna o capa de datos con la etiqueta Total en una tabla pivote. Se debe seleccionar la tabla antes de ejecutar el proceso.
Informe de medias. Extrae informacin de una tabla y escribe los resultados en varios archivos de resultados ASCII. Antes de ejecutar el proceso se debe seleccionar la tabla Medias.
Eliminar etiquetas. Elimina todas las etiquetas de fila y columna de una tabla. Se debe seleccionar la tabla antes de ejecutar el proceso.
Volver a ejecutar rdenes de SPSS. Vuelve a enviar la orden encontrada en la tabla Notas seleccionada, utilizando el archivo de datos activo. Si no existe ningn archivo de datos abierto, el proceso intentar leer el archivo de datos utilizado originalmente. Se debe seleccionar la tabla Notas antes de ejecutar el proceso.
R cuadrado max. En una tabla de resumen del modelo de regresin, aplica el formato de negrita y el color azul a la fila correspondiente al modelo que maximiza la R cuadrado corregida. Se debe seleccionar la tabla de resumen del modelo antes de ejecutar el proceso.
Un concepto final que es crtico a la hora de usar programas VBA en SPSS es el de objeto activo. En cualquier instante durante la ejecucin de SPSS solamente un objeto est activo en el entorno. Para que se realice un mtodo o se seleccione una propiedad sobre un objeto, dicho objeto ha de estar activo. Hay dos modos de activar un objeto. El primero es usar VBA, el segundo es hacer click sobre el objeto. As, cuando se pone en primer plano el visor de resultados, se activa el objeto. O cuando se resalta una celda en una tabla, ese objeto est activado. Esta caracterstica es especialmente til cuando se ejecuta un programa sobre un objeto concreto. Los programas VBA se abren desde el men Archivo de la barra de mens, apareciendo la caja de dilogo con los diversos programas VBA que estn incluidos en SPSS. A la derecha de tal caja de dilogo aparece una ventana en la que se da una breve descripcin del
15/10/2008
Pgina 5 de 7
proceso que se ha seleccionado. Para usar uno de ellos, slo hay que seleccionarlo de la caja de dilogo.
Para crear un nuevo proceso, hay que cerrar esta caja de dilogo y trabajar en la ventana de edicin de programas VBA.
Si se utiliza alguno de los programas VBA implementados en SPSS, es fcil modificarlos gracias a las lneas de comentarios que aparecen en tales programas.
15/10/2008
Pgina 6 de 7
Para ejecutar un programa VBA desde el editor de rdenes de SPSS, se utiliza el comando SCRIPT. Para ello se especifica, entre comillas, el nombre del programa VBA que se desea ejecutar, con la ruta completa en la que se encuentre el archivo, por ejemplo: SCRIPT C:\PROGRAMAS\VBA\CLEAN NAVIGATOR.SBS
Ejecucin de rdenes SPSS desde un proceso VBA
La ejecucin de rdenes SPSS puede llevarse a cabo mediante un proceso VBA utilizando el mtodo ExecuteCommands. Las rdenes SPSS permiten ejecutar transformaciones de datos y procedimientos estadsticos y producir grficos.
15/10/2008
Pgina 7 de 7
La manera ms sencilla de construir un archivo de rdenes SPSS es efectuar selecciones en los cuadros de dilogo y pegar las rdenes asociadas. Al abrir los cuadros de dilogo mediante los mens de la ventana de proceso, el botn Pegar insertar todo el cdigo necesario para ejecutar las rdenes desde un proceso. Si no se utilizan los mens de la ventana de proceso para abrir el cuadro de dilogo, las rdenes se pegarn en una ventana de rdenes en lugar de en la ventana de proceso.
Cada declaracin especifica el nombre y el tipo de variable. As, la primera declaracin de arriba crea una variable de objeto que se llama objOutputDoc y la asigna a la clase de objeto ISpssOutputDoc. La variable an no tiene un valor porque no se ha establecido para un documento de resultados determinado. Lo que hace la instruccin es declarar que la variable existe.
15/10/2008