¿La sintaxis tiene tu lengua? He compilado 13 JMP Sugerencias sobre el lenguaje de scripting que me han resultado útiles al aprender la sintaxis de JSL:
1. Cuerdas de concatenacion (ver El post de Craige Hales en este )
places = {"world", "planet", "globe", "Earth"};statement = "Hola" || lugares [2] || "!";
El código anterior crea la cadena "Hola planeta!"
2. Haciendo referencia a nombres de columnas de tablas que tienen caracteres especiales
Digamos que su tabla, dt, tiene una columna llamada "Prob (Pred)" (probabilidad de predicción). Si lo refieres como
dt:Prob(Pred)
no funcionará Necesitas usar comillas:
dt:"Prob(Pred)"
3. Hacer referencia a un archivo en particular en el complemento (ver La solución original de PMroz )
Para trabajar con un archivo contenido en su jmpaddin, debe referirse a su archivo como:
"$ADDIN_HOME(com.mycompany.test_addin)\myfile.jmp"
4. Cambio del color, tamaño y tipo de letra del cuadro de texto
myText = Cuadro de texto (declaración, << Color de fuente ("Azul"), << JustifyText ("centro"), << Ajustar ajuste (80), << Establecer fuente ("Segoe UI", 15));
(Para centrar el texto en la ventana, deberá agregar Cuadros espaciadores a cada lado del texto en un Cuadro de lista H - vea la sugerencia # 12).
5. Guardar un gráfico / gráfico en un informe como una imagen (datos de muestra (iris) también vistos en página de informe de análisis discriminante )
Primero, use la interfaz de apuntar y hacer clic y genere el modelo que desea. Después de esto, haga clic en el pequeño triángulo rojo, vaya a script> Guardar script a la ventana Script. No cierres la ventana de tu modelo todavía.
En la nueva ventana de script, asigne un nombre al modelo; por ejemplo, puedo nombrar mi gráfico discriminante discrimGraph:
discrimGraph = Discriminant([...generated code...]);
Haz de este modelo generado un informe:
report = discrimGraph << report;
Regrese a la ventana de su modelo, haga clic con el botón derecho en el gráfico o la figura que desea guardar y vaya a Editar> Mostrar estructura de árbol. Esto le dirá el nombre del objeto que desea agarrar (a menudo, la Ayuda clave lo guiará hacia el cuadro de la derecha). Aquí, quiero agarrar un cuadro de marco:
reportBox = report[Frame Box(1)];
Finalmente, si desea convertir reportBox en una imagen que puede guardar:
modelImage = reportBox << getPicture ();
Ahora tiene un nombre de variable adjunto al gráfico o gráfico específico que ha generado. Si desea guardar esto como una imagen en su computadora:
modelImage << Guardar imagen ("C: \ Documents \ JMP \ myImage.png", png);
A menudo, las imágenes PNG se ven mejor, pero son archivos más grandes.

6. Deseleccionando todas las filas en una tabla de datos
Este es bastante sencillo; Selecciona todas las filas, e invierte la selección. Esto no afectará a los marcadores de fila.
dt << seleccionar todas las filas;dt << invertir selección de fila;
7. Construyendo una interfaz de usuario en JMP - redimensionando ventanas
Si desea cambiar el tamaño de una ventana a dimensiones particulares en píxeles (nota: esto incluye el marco exterior de la ventana, no solo su contenido):
ganar << Establecer tamaño de la ventana (ancho, alto);
8. Configuración del color de fondo para un gráfico o trama
A menudo necesitaba que mis gráficos de fondo blanco se mezclaran con el gris predeterminado del cuadro de visualización:
myGraph [framebox (1)] << Establecer color de fondo ({0.97255, 0.97255, 0.97255});
El orden para los tres argumentos es R, G, B; recuerde convertir sus valores RGB deseados de una escala de 0 a 255 a una escala de 0 a 1 (divida el valor deseado por 255).

9. Análisis discriminante: eliminación de rayos biplot para mayor claridad
En la interfaz de apuntar y hacer clic de su modelo, vaya al triángulo rojo pequeño> Opciones canónicas> Mostrar rayos Biplot. Si desea la secuencia de comandos para eliminar los rayos biplot, vaya a script> Guardar secuencia de comandos a la ventana de secuencia de comandos, y verá que el argumento que hace este cambio es
...
Mostrar rayos Biplot (0),
...

10. Construyendo una interfaz de usuario en JMP - cambiando el tamaño del Spacer Box
Donde el primer argumento es el tamaño horizontal, y el segundo argumento es el tamaño vertical (ambos en píxeles):
SpacerBox(Size(h, v))
11. Creación de una interfaz de usuario en JMP - espaciadores de cambio de tamaño automático
Los espaciadores se pueden adaptar automáticamente en una dirección (cuando cambian los contenidos de la ventana) si omite uno de los argumentos:
SpacerBox(Size(, 1))
12. Creación de una interfaz de usuario en JMP: justificación de todos los cuadros en una ventana de árbol de visualización
Line Up Box () es tu amigo. Puedes usarlo para alinear todos los cuadros dados dentro de él:
...
Caja de alineación (
H Cuadro de lista (Alinear ("centro"),
SpacerBox (),
Cuadro de texto ("¡Hola, planeta!"),
SpacerBox ()
)
H Cuadro de lista (Alinear ("centro"),
SpacerBox (),
Cuadro de botones ("Haga clic en mí", después de hacer clic ()),
SpacerBox ()
)
)
...

13. Escala / cambio de tamaño, recorte de imágenes
Esto reduce la imagen en un 50 por ciento en ambas dimensiones:
myImage << scale (0.5);
Esto recorta la imagen a las dimensiones que desee (en píxeles):
myImage << crop (left (startingColumn), right (endingColumn), top (startingRow), bottom (endingRow));
¡Espero que estos 13 consejos sean tan afortunados para ti como lo han sido para mí!
Aquí hay algunos recursos adicionales que me parecieron muy útiles:
Manipulación de pantallas , Muestra , Cajas de visualización y Mostrar arboles
Guía de scripting de JMP
Filas y estados de fila
Funciones de personaje
Guías JMP de una página
Índice JMP Online Scripting GuideUna cosa más: presentaré un póster en Cumbre del descubrimiento , así que si tienes una oportunidad, por favor pasa!
@RBILLC , puede usar el cuadro del mouse para crear su propio botón, donde puede controlar el tamaño de la fuente. Vea el Ejemplo a continuación.
Custom Button = Function({text,callbackExpr=Expr(),textSize=0},
margin = Max( 5, textSize / 2 ); // guestimate a good left/right margin based on the font size
Eval(
Eval Expr( // to eval the callback expression
Border Box( left( 2 ), right( 2 ), top( 2 ), bottom( 2 ), // spacing around the button
Mouse Box(
Border Box( left( margin ), right( margin ), top(2),bottom(2), Sides( 15 ),
Text Box( text, <<SET font="" size=""></SET>
Aquí hay un GIF de ella en acción:

@David_Burnham , un Spacer Box sin argumentos se configura como un espaciador extensible, con inicial tamaño = 1, min = 0, max = 30000. Este cuadro crecerá y se reducirá con el tamaño de la ventana:
SpacerBox()
Cuando se especifica un tamaño distinto de cero, el espaciador tiene un tamaño fijo, con tamaño = min = max :
SpacerBox(Size(h,v))
El consejo 11 indica que puede mezclar los comportamientos al omitir uno de h o v . También puede obtener el mismo comportamiento al pasar -1 por el argumento que falta