Referencia de objetos en scripts jmpHola comunidad JMP,
Tengo una pregunta sobre la referencia a objetos en los scripts jmp. El siguiente código se ejecuta (JMP pro 17.2), pero la selección del proceso aparece en una ventana diferente, no en la función Make_Win, donde también se coloca el botón. Sé que si copio y pego el
PS = dt << Selección del proceso(...); parte dentro del cuadro de lista V , entonces el comportamiento se vuelve el esperado, pero luego el código se vuelve menos legible y más desordenado.
¿Hay alguna manera de definir PS en otro lugar e incluir solo su referencia dentro de la función (como se muestra en el ejemplo a continuación), o de qué otra manera haría que el código a continuación funcione según lo previsto?
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
PS = dt << Process Screening(
Y( Eval(Cols)),
Control Chart Type( "Indiv and MR" ),
Minimum Process Length( 1 ),
Use Medians instead of Means( 1 ),
Show tests( 0 ),
Test 1( 0 ),
Cp( 1 ),
Spec Limits( 1 ),
);
Make_Win = Expr(
New Window( "ProcessScreening",
Vlist_box = V List Box(
PS,
MyButton = Button Box( "SelectedRows", SendRows ),
),
),
);
SendRows = Expr(
print_cols = Report( PS )[Table Box( 1 )][String Col Box( 1 )] << getselectedrows();
Print( Report( PS )[Table Box( 1 )][String Col Box( 1 )][print_cols] );
);
Make_Win();Gracias,
JNS
Automatización y secuencias de comandosRe: Referencia de objetos en scripts jmpHay muchas opciones diferentes para hacer esto, aquí hay una
Names Default To Here(1);
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
ps_collector = V List Box(
PS = dt << Process Screening(
Y(Eval(Cols)),
Control Chart Type("Indiv and MR"),
Minimum Process Length(1),
Use Medians instead of Means(1),
Show tests(0),
Test 1(0),
Cp(1),
Spec Limits(1),
)
);
SendRows = Expr(
print_cols = Report(PS)[Table Box(1)][String Col Box(1)] << getselectedrows();
Print(Report(PS)[Table Box(1)][String Col Box(1)][print_cols]);
);
nw = New Window("ProcessScreening", Vlist_box = V List Box(ps_collector),
Button Box("OK", sendrows);
);
Re: Referencia de objetos en scripts jmpQuiere utilizar la función plataforma(...).
Scripting Index is in the Help menuEl índice de secuencias de comandos está en el menú Ayuda.
Cuando se inicia una plataforma, se adjuntará a una nueva ventana si se crea dentro de la construcción de la nueva ventana, o a un cuadro de visualización si se crea dentro de una construcción de cuadro de visualización. De lo contrario crea una nueva ventana. La función platform() devuelve el cuadro de visualización raíz sin adjuntarlo a nada. En el pasado, también recomendé usar un contenedor de cuadro de borde alrededor del dt<
El ejemplo del índice de secuencias de comandos tendría más sentido así:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p=Platform(
dt,
Bubble Plot(
X( :weight ),
Y( :age ),
Sizes( :height ),
Title Position( 0, 0 )
)
);
New Window( "Platform example",
H List Box(
Platform(
dt,
Bubble Plot(
X( :weight ),
Y( :height ),
Sizes( :age ),
Title Position( 0, 0 )
)
),
p
)
);