Al emprender un nuevo proyecto de plomería, siempre trato de seguir mis dos reglas de plomería. Regla Uno: Nunca comience un proyecto de plomería sin cerveza en la nevera; se sentirá frustrado y tendrá que tomarse un descanso para calmarse, y una cerveza funciona muy bien para eso. Regla Dos: Nunca comience un proyecto de plomería (en el hogar) dentro de las dos horas de cierre en la ferretería; Siempre encontrará que necesita una sección más de tubería o una conexión. Es demasiado agravante esperar hasta la mañana siguiente para obtener la pieza y solucionar el problema, antes de que finalmente puedas volver a conectar el agua.
Encuentro que la programación en general tiene mucho en común con la plomería. Aplicando reglas similares a scripting en JMP Scripting Language (JSL), sustituyo las bebidas con cafeína por la cerveza. Y en lugar de irme a la ferretería, visito los índices de scripting.
Si escribe cualquier script JSL, puede interesarle saber que el Índice de Scripting de Objetos (OSI) ahora contiene sintaxis, descripciones y ejemplos para cada mensaje a cada objeto. Actualmente hay más de 2,600 mensajes distintos en total, y recordar la sintaxis de cada uno sería un desafío para cualquiera.
Encontrarás el OSI en el menú Ayuda. Tres áreas son particularmente interesantes pedagógicamente: los mensajes de la tabla de datos, la SAS Mensajes de integración y los mensajes de solo scripting para Fit Model. Lo aliento a explorar otros mensajes, especialmente en estas áreas, ya que encontré muchas joyas escondidas allí.
Tabla de datos : Desplácese hacia abajo hasta la Tabla de datos en el panel Objetos, y luego en el panel Mensajes, intente desplazarse hacia abajo hasta el mensaje "Cancelar suscripción". Aquí verá dos campos de parámetros: el primero es el nombre en forma de cadena y el segundo es el Acción que desea activar la cancelación de la suscripción. La barra vertical entre las opciones indica que la acción puede ser una de las cuatro opciones posibles.

Para probarlo, haga clic en "Ejecutar ejemplo", luego cierre la tabla de datos y examine el registro. En este ejemplo, cuando se inicia la suscripción, JMP comienza a escuchar los eventos que ocurren en la tabla de datos, al igual que lo hace cuando ejecuta cualquier análisis o gráfico. La suscripción llama a la función de impresión pasada en la opción Al cerrar e imprime la "Tabla de datos de cierre" en el registro cuando cierra la tabla de datos. Sin embargo, la llamada para cancelar la suscripción impide la llamada a la función al cancelar la suscripción. Si elimina o comenta la llamada para cancelar la suscripción, vuelva a ejecutar el guión y cierre la tabla de datos, verá que aparece "Tabla de cierre de datos" en el registro.
Integración SAS : En el panel de objetos OSI, desplácese hacia abajo hasta el objeto Servidor SAS anidado debajo del objeto Integración SAS. En el panel de mensajes, desplácese hacia abajo para Enviar. En esta entrada, encontrará que todos los parámetros son opcionales, indicados con.

Si tiene instalado SAS, intente ejecutar este script. La declaración de SAS Connect () ejecutará SAS localmente y entre bambalinas. Una vez que se complete, verá dos nuevas ventanas de salida, ambas en JMP. Una ventana contiene la salida de SAS que se muestra como html y la otra para la tabla de datos con una nueva columna agregada para el residuo.
Modelo de ajuste : La entrada de objeto para Fit Model es un marcador de posición para todas las personalidades de Fit Model. En el panel Objetos, desplácese hacia abajo hasta Ajustar cuadrados mínimos en Ajustar modelo, luego en Guardar tabla de codificación en el panel de mensajes. Notará que durante el desplazamiento hay muchas funciones Get, que a muchos les resultan útiles cuando se programan estadísticas personalizadas.

Cuando ejecute el ejemplo, además de la tabla de datos, Drug.jmp, verá aparecer un informe de mínimos cuadrados estándar y una nueva tabla de datos. En la nueva tabla, vemos dos columnas para la variable, Medicamento. JMP crea n-1 columnas (y estimaciones de parámetros), donde n es el número de niveles. El último nivel se representa codificando ambas columnas -1. En lugar de hacer un poco de álgebra en las Estimaciones de parámetros en la salida para ver los efectos específicos de los medicamentos, podríamos decidir que queremos usar los valores medios de mínimos cuadrados para cada nivel de medicamento. Puede ver los medios de mínimos cuadrados abriendo la sección Detalles del efecto del informe.
Si eres como yo, después de algunos intentos iniciales, olvidarás que nunca antes lo habías visto y buscarías la herramienta OSI cada vez que realizas scripts. Y a diferencia de la ferretería, el OSI nunca se cierra.