Référence des objets dans les scripts jmpBonjour la communauté JMP,
J'ai une question concernant la référence aux objets dans les scripts jmp. Le code ci-dessous s'exécute (JMP pro 17.2), mais le filtrage du processus apparaît dans une fenêtre différente, pas dans la fonction Make_Win, où le bouton est également placé. Je sais que si je faisais un copier-coller
PS = dt << Criblage de processus(...); partie à l'intérieur de la zone de liste V , le comportement devient celui prévu, mais le code devient alors moins lisible et plus encombré.
Existe-t-il un moyen de définir PS ailleurs et d'inclure uniquement sa référence dans la fonction (comme indiqué dans l'exemple ci-dessous), ou comment feriez-vous que le code ci-dessous fonctionne comme prévu.
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();Merci,
JNS
Automatisation et scriptsRe : Référence d'objets dans les scripts jmpIl existe de nombreuses options différentes pour ce faire, en voici une
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);
);
Re : Référence d'objets dans les scripts jmpVous souhaitez utiliser la fonction platform(...) .
Scripting Index is in the Help menuL'index des scripts se trouve dans le menu Aide.
Lorsqu'une plate-forme est lancée, elle s'attachera à une nouvelle fenêtre si elle est créée dans la nouvelle construction de fenêtre, ou à une displaybox si elle est créée dans une construction displaybox. Sinon, cela crée une nouvelle fenêtre. La fonction platform() renvoie la displaybox racine sans l'attacher à quoi que ce soit. Dans le passé, j'ai également recommandé d'utiliser un wrapper borderbox autour du dt<
L'exemple d'index de script aurait plus de sens comme ceci :
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
)
);