Objektreferenz in JMP-SkriptenHallo JMP-Community,
Ich habe eine Frage zur Objektreferenz in JMP-Skripten. Der folgende Code wird ausgeführt (JMP Pro 17.2), aber die Prozessüberprüfung erscheint in einem anderen Fenster, nicht in der Make_Win-Funktion, wo auch die Schaltfläche platziert ist. Ich weiß, wenn ich das kopieren und einfügen würde
PS = dt << Prozessscreening(...); Teil innerhalb der V-Listenbox , dann wird das Verhalten wie erwartet, aber dann wird der Code weniger lesbar und unübersichtlicher.
Gibt es eine Möglichkeit, PS an einer anderen Stelle zu definieren und nur seine Referenz in die Funktion einzufügen (wie im Beispiel unten gezeigt), oder wie würden Sie sonst dafür sorgen, dass der folgende Code wie beabsichtigt funktioniert?
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 SkripterstellungBetreff: 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);
);
Betreff: Objektreferenz in JMP-SkriptenSie möchten die Plattform(...)-Funktion verwenden.
Scripting Index is in the Help menuDer Skriptindex befindet sich im Hilfemenü
Wenn eine Plattform gestartet wird, hängt sie sich an ein neues Fenster an, wenn es innerhalb der neuen Fensterkonstruktion erstellt wird, oder an eine Displaybox, wenn es innerhalb einer Displaybox-Konstruktion erstellt wird. Andernfalls wird ein neues Fenster erstellt. Die Funktion platform() gibt die Root-Displaybox zurück, ohne sie an irgendetwas anzuhängen. In der Vergangenheit habe ich auch empfohlen, einen Borderbox-Wrapper um dt< zu verwenden
Das Beispiel für einen Skriptindex würde so sinnvoller sein:
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
)
);