Hola a todos,
Recientemente me metí en las secuencias de comandos jmp y estoy haciendo todo lo posible para aprenderlas.
El objetivo del siguiente ejemplo es mostrar el valor de la "Columna" para las filas seleccionadas.
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
Define Class(
"Test_Class",
_init_ = Method( {dt, Cols},
my_dt = dt;
my_cols = Cols;
Make_Win();
);
Make_Win = Method( {},
New Window( "ProcessScreening",
Vlist_box = V List Box(
PS,
MyButton = Button Box( "SelectedRows", SendRows ),
),
),
);
PS = dt << Process Screening(
Y( Eval(my_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 ),
);<BR />
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] );
);
);<BR />
my_obj = New Object( Test_Class( dt, Cols ) );Código de error:
Send Expects Scriptable Object in access or evaluation of 'Send' , my_dt << /*###*/Process Screening(
Y( Eval( my_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 )
) /*###*/
object not subscriptable in access or evaluation of 'Report(PS)[ /*###*/Table Box(1)]' , Report( PS )[/*###*/Table
Intenté usar el script fuera de una clase y parece funcionar. ¿Tiene alguna idea de lo que está mal con la implementación anterior?
Hola,
No mencionas qué versión de JMP estás usando. Esto funcionó bien para mí con JMP 17. ¿Tiene lo siguiente en la parte superior de su script?
los nombres por defecto están aquí ( 1 );
Si tiene varios scripts ejecutándose, puede marcar la diferencia.
Brian Corcoran
Desarrollo JMP
¿Tiene alguna razón específica para construir esto con clases? Si recién está comenzando con las secuencias de comandos JMP, diría que mantenerse alejado de las clases podría ser una buena idea.
Hola Brian,
Perdón por no ser más específico, el script anterior se ejecuta pero aparece el error al presionar el botón SelectedRows.
Estoy ejecutando esto en JMP 17.