Riferimento agli oggetti negli script jmpCiao comunità JMP,
Ho una domanda riguardante il riferimento agli oggetti negli script jmp. Il codice sottostante viene eseguito (JMP pro 17.2), ma lo screening del processo si apre in una finestra diversa, non nella funzione Make_Win, dove è posizionato anche il pulsante. So che se copiassi e incollassi il
PS = dt << Screening del processo(...); parte all'interno della casella di riepilogo V, quindi il comportamento diventa quello previsto, ma poi il codice diventa meno leggibile e più disordinato.
Esiste un modo per definire PS in un altro punto e includere solo il suo riferimento all'interno della funzione (come mostrato nell'esempio seguente) oppure in quale altro modo si potrebbe far funzionare il codice seguente come 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();Grazie,
JNS
Automazione e scriptingRe: Riferimento agli oggetti negli script jmpVuoi utilizzare la funzione platform(...).
Scripting Index is in the Help menuL'indice degli script si trova nel menu Aiuto
Quando una piattaforma viene lanciata, si collegherà a una nuova finestra se viene creata all'interno della costruzione della nuova finestra, o a un displaybox se viene creata all'interno di una costruzione displaybox. Altrimenti, crea una nuova finestra. La funzione platform() restituisce il displaybox radice senza collegarlo a nulla. In passato ho anche consigliato di usare un wrapper borderbox attorno al dt<
L'esempio dell'indice di scripting avrebbe più senso in questo modo:
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
)
);
Re: Riferimento agli oggetti negli script jmpCi sono molte opzioni diverse per farlo, eccone 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);
);