Objektreferenz in JMP-SkriptenHallo JMP-Community,
Ich habe eine Frage zu Objektreferenzen in JMP-Skripten. Der folgende Code läuft (JMP pro 17.2), aber die Prozessüberprüfung erscheint in einem anderen Fenster, nicht in der Make_Win-Funktion, in der sich auch die Schaltfläche befindet. Ich weiß, dass, wenn ich den
PS = dt << Prozess-Screening(...); Teil innerhalb der V-Liste, dann verhält es sich wie erwartet, aber der Code wird weniger lesbar und unübersichtlicher.
Gibt es eine Möglichkeit, PS woanders zu definieren und nur dessen Referenz in die Funktion aufzunehmen (wie im Beispiel unten gezeigt) oder wie könnten Sie den folgenden Code sonst wie vorgesehen zum Laufen bringen?
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();Danke,
JNS
Automatisierung und SkriptingBetreff: Objektreferenz in JMP-SkriptenSie möchten die Funktion „Plattform(...)“ nutzen.
Scripting Index is in the Help menuDer Scripting Index befindet sich im Hilfe-Menü
Wenn eine Plattform gestartet wird, hängt sie sich an ein neues Fenster an, wenn sie innerhalb der neuen Fensterkonstruktion erstellt wird, oder an eine Displaybox, wenn sie innerhalb einer Displayboxkonstruktion erstellt wird. Andernfalls erstellt sie ein neues Fenster. Die Funktion platform() gibt die Stamm-Displaybox zurück, ohne sie an irgendetwas anzuhängen. In der Vergangenheit habe ich auch empfohlen, einen Borderbox-Wrapper um das dt< zu verwenden.
Das Beispiel für einen Skriptindex wäre wie folgt sinnvoller:
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
)
);
Betreff: Objektreferenz in JMP-SkriptenEs gibt viele verschiedene Möglichkeiten, dies zu tun, hier ist eine
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);
);