Riferimento agli oggetti negli script jmpCiao comunità JMP,
Ho una domanda riguardante il riferimento agli oggetti negli script jmp. Il codice seguente viene eseguito (JMP pro 17.2), ma lo screening del processo viene visualizzato in una finestra diversa, non nella funzione Make_Win, dove è posizionato anche il pulsante. So che se copiassi incolla il file
PS = dt << Screening del processo(...); parte all'interno della casella di riepilogo V , il comportamento diventa quello previsto, ma il codice diventa meno leggibile e più disordinato.
Esiste un modo per definire PS da qualche altra parte e includere solo il suo riferimento all'interno della funzione (come mostrato nell'esempio seguente), o in quale altro modo potresti 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 scriptingRi: 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);
);
Ri: Riferimento agli oggetti negli script jmpVuoi utilizzare la funzione platform(...).
Scripting Index is in the Help menuL'indice degli script si trova nel menu Guida
Quando una piattaforma viene avviata, si collegherà a una nuova finestra se viene creata all'interno della costruzione della nuova finestra, o a un displaybox se viene creato all'interno di una costruzione del displaybox. Altrimenti crea una nuova finestra. La funzione platform() restituisce la casella di visualizzazione root senza allegarla a nulla. In passato ho anche consigliato di utilizzare 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
)
);