You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?Has creado un guión. Ahora, ¿cómo puedes compartir lo que has creado?
¡Bienvenido de nuevo! Si ha llegado hasta aquí, probablemente tenga algún tipo de script funcional. ¡Felicitaciones! Si acabas de descubrir estas series , quizás quieras poner un pin en este artículo y empezar desde el principio.
Aquí hay enlaces a los que quizás se haya perdido:
Entonces, tienes un código nuevo y agradable. ¿Cuáles son tus planes al respecto? Si se ha tomado la molestia de crear un script, probablemente debería considerar cómo empaquetarlo para que otros (o usted mismo) lo utilicen fácilmente. En esta última entrada, quiero darte algunas ideas sobre cómo compartir lo que has creado. JMP Tiene varias opciones dependiendo de cómo quieras compartirlo.
Compartiendo tu trabajo
Hay cuatro o cinco métodos (dependiendo de con quién hable) para empaquetar scripts para que otros los consuman: archivos JSL, archivos Query Builder, complementos JMP, aplicaciones JMP e informes JMP Live y/o JMP Public. Para el nivel de secuencias de comandos que estamos haciendo aquí, algunos de estos métodos están un poco fuera de alcance (particularmente las aplicaciones; las guardaremos para otra serie). Lo que me gustaría hacer aquí es brindarle algunas opciones y buenos recursos para cada método y trabajar con algunos ejemplos de aquellos que le brindarán el mayor beneficio por su inversión en la fase actual de su viaje con las secuencias de comandos.
Archivos JSL
Esto es lo que piensa la gente cuando habla de trabajar en JSL. Si has seguido la serie, aquí es donde se encuentra actualmente tu guión. La cuestión es que los archivos JSL no son la mejor manera de almacenar o compartir archivos. Se pueden editar accidentalmente. Requieren que alguien sepa cómo ejecutar un script. Y, para ser honesto, para algunas personas, ver el código resulta un poco intimidante.
Los archivos JSL probablemente solo deberían usarse para las tareas más triviales o para crear prototipos de métodos para un proyecto más grande. Hay excepciones, por supuesto. Si está creando una biblioteca de funciones o algo así, existirá como un archivo JSL. También hay partes de JMP que le permiten proporcionar JSL directamente (por ejemplo, el archivo de palabras clave plegables de código ), pero estos tienden a ser la excepción más que la regla. Mi tendencia personal es detenerme en un archivo JSL sólo como último recurso, si estoy colaborando con otro codificador en algo o si el código es enteramente para mi uso personal (por ejemplo, un fragmento para probar algo).
Archivos del generador de consultas
JMP admite Query Builder para la mayoría de los tipos de archivos a través de controladores ODBC o tablas de datos JMP. Si su secuencia de comandos implica un paso de manipulación de datos, es probable que pueda descargar gran parte del trabajo pesado al archivo de Query Builder y usar la secuencia de comandos posterior a la consulta (más sobre eso en un segundo) para hacer las partes que Query Builder puede hacer. No lo manejo. El uso de estos archivos como método de empaquetado simplifica el flujo de trabajo y hace que el script sea más sólido. También hacen que el guión sea portátil. Además, obtiene la posibilidad de utilizar las indicaciones de filtro integradas para hacer que su código sea aún más flexible.
Veamos un ejemplo sencillo. Voy a utilizar el generador de consultas de la tabla de datos JMP en Tablas > Generador de consultas en lugar del de conexiones ODBC o SAS solo para simplificar las cosas, pero el flujo de trabajo sería similar para esos casos, y Hay recursos para mostrar cómo funcionan. .
Primero, configuremos una consulta de tabla. No voy a escribir eso. El equipo de documentación de JMP hizo un gran trabajo con un ejemplo para los datos de muestra de SATByYear. Simplemente siga las instrucciones en este ejemplo y deténgase después de ejecutar la consulta, pero mantenga abierto el Generador de consultas. Una vez que tenga la tabla de datos, cree un mapa de Graph Builder:
- Abrir generador de gráficos ( Gráfico > Generador de gráficos ).
- Arrastre Estado a la zona de colocación de Forma del mapa debajo del eje Y.
- Arrastre % Taking (2004) a la zona de colocación de Color.
- Vaya al triángulo rojo al lado de Graph Builder y seleccione Rehacer > Conmutador de columnas .
- Seleccionar % Toma (2004) como lo que desea cambiar y haga clic DE ACUERDO .
- Seleccione todas las variables continuas entre las que desea cambiar y haga clic DE ACUERDO .
Seleccionar Hecho para cerrar el panel de control.
Ahora, eso significa hacer muchos clics para obtener un gráfico y una vista muy común para este tipo de datos. Utilizando nuestras nuevas habilidades de programación, podemos hacer que Query Builder reproduzca este gráfico (y cualquier gráfico adicional que decidamos agregar más adelante). Así es como lo haces:
- Seleccionar Guardar secuencia de comandos > En el portapapeles d del Generador de gráficos.
- En el Generador de consultas seleccione el Script posterior a la consulta pestaña en la mitad inferior de la ventana.
- Pegar ( CTRL+P para PC o CMD+P para MacOS) el script en la pestaña Script posterior a la consulta.

- Guarde el archivo del Generador de consultas haciendo clic en Ahorrar .
- Ahora, cierre la tabla de datos que creó Query Builder y Graph Builder.
- Hacer clic Ejecutar consulta .
¿Ves cómo funciona eso? Al utilizar Query Builder, obtuvo cierta interactividad de forma gratuita en forma de cuadro de diálogo de filtrado y pudo aumentar significativamente la eficiencia de este flujo de trabajo. Si alguien tuviera los dos archivos de datos, podría enviarles el archivo Query Builder y produciría el mismo resultado.
Complementos JMP
Si desea que su código aparezca en JMP, un complemento es el camino a seguir. Los complementos aparecen en el menú Complementos de JMP, que solo aparecerá después de haber instalado su primer complemento. Se almacenan en el sistema de archivos JMP, por lo que el usuario no tiene que recordar dónde está el archivo de script. Y proporcionan un cierto elemento de pulido a un proyecto terminado. Es cierto que pueden resultar un poco intimidantes al principio, pero es muy fácil trabajar con ellos utilizando el Asistente de complementos.
Voy a crear un complemento realmente simple que usa este código:
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
El código abrirá el registro e imprimirá un mensaje. Llamaremos a este complemento "Mi primer complemento". El primer paso es abrir un generador de complementos ( Archivo > Nuevo > Nuevo complemento ). Después de eso, sólo es cuestión de rellenar el formulario. Hay cinco pestañas en la parte superior de la interfaz. Sólo vamos a necesitar los dos primeros para nuestro complemento. La primera pestaña (Información general) trata más sobre la contabilidad y cómo hacer que JMP sepa dónde están las cosas. La segunda pestaña en realidad configura los bits que están en la GUI de JMP.
En Información general, los campos Nombre del complemento y Versión se explican por sí mismos. Puede limitar la ejecución de su código en versiones heredadas de JMP con la versión mínima de JMP. También puede limitar la ejecución de su complemento en MacOS o Windows utilizando el Host. Recomiendo configurar la Versión mínima y el Host para que coincidan con la configuración del sistema en el que se escribió el código (a menos que tenga la capacidad de realizar pruebas en otras configuraciones). Es más fácil que intentar asegurarse de que su código sea a prueba de balas para todas las situaciones, especialmente cuando recién está comenzando. El ID del complemento es un nombre de carpeta único que se crea en el sistema de archivos JMP cuando se instala el complemento. JMP recomienda utilizar la convención de nomenclatura "DNS inverso" (no tengo idea de por qué). Básicamente significa que creas algo que parece la dirección de un sitio web y lo inviertes. Para el complemento, usaremos com.myAddin.MyFirstAddin. Así es como debería verse la primera pestaña:
Bajo la Elementos de menú pestaña, sólo tienes que hacer clic en el Agregar comando botón. Luego, en Detalles, asigne un nombre al elemento del menú. Si quiere ser elegante, puede darle información sobre herramientas para explicar qué hace su complemento cuando pasa el cursor sobre él. Luego simplemente copia y pega su JSL en el área de Acción. Si está utilizando el fragmento de código anterior, su Elementos de menú La pestaña debería verse así:

Y eso es. ¡Simplemente guarde el archivo y listo! Debido a que la acción predeterminada (en el Información general pestaña) es instalar el complemento cuando lo guarda, haciendo clic en Ahorrar creará un archivo para enviarlo a otros y lo instalará en su propia instancia de JMP. Una vez que haya guardado el complemento, debería ver una entrada como esta en el menú de su complemento:
Aplicaciones JMP
Entonces, ¿quieres crear algo que parezca una parte nativa de JMP? Application Builder es, en mi opinión, el método más flexible y eficiente para generar soluciones JSL personalizadas y de alta calidad. Le brinda la capacidad de controlar todos los aspectos del software, aprovechar las partes existentes de JMP y utilizar rutinas diseñadas a medida. Esa flexibilidad y poder tienen un costo en forma de curva de aprendizaje.
Dicho esto, no debes dejar que esto te intimide. Existen muchos recursos para comenzar a utilizar Application Builder y las cosas que puede hacer con él son increíbles. Sólo será necesario algo de trabajo para ponerlo en funcionamiento. También hay una versión "lite" de Application Builder integrada en JMP. Lo conocerá como la herramienta de arrastrar y soltar llamada Dashboard Builder. Una vez que tengas un poco de experiencia con JSL, tomar el curso Application Builder de SAS Education No sería una mala manera de aprender sobre esta herramienta tan poderosa. También estoy pensando en hacer otra serie de “Cinco cosas” sobre este tema en algún momento, ¡así que mantente atento!
JMP en vivo y JMP público
Si bien JMP Live y JMP Public se centran más en el lado del "consumo", puede crear y publicar paneles e informes para que otros los consuman utilizando este método. En su mayor parte, solo estás usando los bits de JSL que te mostré en esta serie. Dan Valente hizo un excelente publicación de blog sobre cómo crear scripts en JMP Live (y JMP Public), así que no voy a insistir en el tema.
Tarea
Bueno, ¡lo lograste! La última tarea es realmente fácil. Empaquete su código, entrégueselo a un colega y pídale que lo pruebe y vea si funciona. Si no es así, mire los mensajes de error y descubra por qué. Si es así, ¡entonces ha creado su primer complemento JMP! Buen trabajo.
A dónde ir desde aquí
Como dije antes, esta serie no estaba destinada a hacerte volar el pelo hacia atrás y deslumbrarte con mi destreza en el guión. Estaba destinado a apuntar tu nariz en la dirección correcta, darte un buen mapa, una palmadita en la espalda y algo de ayuda para contactar en caso de que te quedes atascado. Es un punto de partida; Todavía hay mucho más camino por delante que detrás de ti.
Entonces, a partir de aquí, el truco es seguir intentándolo y experimentando. Continúe desarmando los complementos y aplicaciones de las personas para ver cómo funcionan. Siga probando cosas nuevas y buscando oportunidades para hacer que su flujo de trabajo sea más eficiente con pequeños scripts. Cuanto más lo hagas, mejor serás y más accesibles te parecerán los proyectos más importantes en los que estás pensando. Sólo sigue así.