Création d'un sélecteur de colonnes - Script JMPBonjour,
J'ai besoin d'aide pour créer un sélecteur de colonnes pour un graphique P' de Laney pour les événements.
Ci-dessous mon code :
Tout d’abord, nous devons déterminer un coefficient avec ces droites :
z_yyy = Eval( {:"Y1"n} );
z_xx = z_yyy[1] << get values;
z_nnn = Eval( {:N} );
z_nn = z_nnn[1] << get values;
z_rrr = Eval( {:Numéro de lot} );
z_Proportion = E Div( z_xx, z_nn );
z_Pbar = V Sum( z_xx ) / V Sum( z_nn );
z_sigma_est = Root( z_Pbar * (1 - z_Pbar) );
z_zvalue = E Mult( ((z_Proportion - z_Pbar) / z_sigma_est), Root( z_nn ) );
z_nr = N Row( z_zvalue );
z_mRList = {0};
z_m = z_zvalue;
z_m[1, 0] = [];
z_m = z_m |/ [0];
z_mr = Abs( z_m - z_zvalue );
z_nr = N Row( z_mr );
z_mr[z_nr, 0] = [];
z_SigmaZ = Mean( z_mr ) / 1.128;
z_KSigmaZ = 3 * z_SigmaZ;Ensuite, voici où j'aimerais développer un sélecteur de colonnes :
graph = New Window( chart_title,
Control Chart(
Sample Label( :Numéro de lot ),
Sample Size( :N ),
KSigma( z_KSigmaZ ),
Sort by Row Order( 1 ),
Chart Col( :"Y1"n, P( Limits Precision( 1 ), LCL( -3 ) ) ),
SendToReport(
Dispatch(
{},
"P of Y1",
OutlineBox,
{Set Title( "p'-chart, p of Y1" )}
),
Dispatch(
{"P of Y1"},
"2",
ScaleBox,
{Format( "Fixed Dec", 12, 5 ), Min( -0.00025 ), Max( 0.0025 ),
Inc( 0.00025 ), Minor Ticks( 1 )}
),
Dispatch(
{"P of Y1"},
"1",
ScaleBox,
{Min( 0.5 ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{"P of Y1"},
"",
AxisBox,
{Add Axis Label( "Taux de défauts pour Y1" )}
),
Dispatch(
{"P of Y1"},
"Proportion pour RNS",
TextEditBox,
{Set Text( "Taux de défauts pour Y1" )}
),
Column Switcher(
:Name( "Y1" ),
{:Name( "Y1" ), :Name( "Y2" ),
:Name( "Y3" ), :Name( "Y4" )}
)
)
);
);
Cependant, ceci est développé avec la fonction Chart Col et il n'y a pas de Y à déterminer, c'est pourquoi je ne sais pas comment faire en sorte que ce sélecteur de colonnes soit utilisé.
Pouvez-vous s'il vous plaît m'aider avec cette demande ?
Merci beaucoup,
Salutations,
Sébastien
Ingénierie Qualité et ProcédésRe : Créer un sélecteur de colonne - Script JMPSuper! C'est exactement ce que je voulais !
Merci beaucoup!
Re : Créer un sélecteur de colonne - Script JMPLa référence graphique est à nouveau au mauvais endroit. Voici une suggestion pour y remédier :
graph_expr = Expr(Graph = Control Chart(
Maintenant, vous aurez graph_expr Expression qui, une fois appelée, vous créera une carte de contrôle qui peut être référencée avec Graph.
Vous devrez également soit appeler graph_expr avant d'ajouter le sélecteur de colonne, soit déplacer le sélecteur de colonne à l'intérieur de l'expression graph_expr. Vous trouverez ci-dessous un exemple avec les exemples de données que j'ai utilisés :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
z_KSigmaZ = 0.1;
graph_expr = Expr(
graph = dt << Control Chart Builder(K Sigma(TBD), Variables(Subgroup(:Sample), Y(:Weight)));
ColumnSwitcherObject = graph << Column Switcher(:Weight, {:Pin, :"Weight 2"n});
);
Substitute Into(graph_expr, Expr(TBD), z_KSigmaZ);
graph_expr; // calling this will create control chart with column switcherRe : Créer un sélecteur de colonne - Script JMPVoici mon script :
Graph=Expr(Control Chart(
Sample Label( :Numéro de lot ),
Sample Size( :Nombre de seringues ),
KSigma(TBD),
Sort by Row Order( 1 ),
Chart Col( :"Y1"n, P( Test Beyond Limits( 1 ), Limits Precision( 1 ), LCL( -3 ) ) ),
SendToReport(
Dispatch(
{},
"P of Y1",
OutlineBox,
{Set Title( "p'-chart, p of Y1" )}
),
Dispatch(
{"P of Y1"},
"2",
ScaleBox,
{Format( "Fixed Dec", 12, 5 ), Min( -0.00025 ), Max( 0.0025 ),
Inc( 0.00025 ), Minor Ticks( 1 )}
),
Dispatch(
{"P of Y1"},
"1",
ScaleBox,
{Min( 0.5 ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{"P of Y1"},
"",
AxisBox,
{Add Axis Label( "Taux de défauts pour Y1" )}
),
);
);
);
SubstituteInto(graph, Expr(TBD), z_KSigmaZ);
ColumnSwitcherObject = graph << Column Switcher( :"Y1"n,{:"Y1"n, :"Y2"n});Re : Créer un sélecteur de colonne - Script JMPSans savoir à quoi ressemble le script, voici la solution que j'utiliserais habituellement :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
ksigma = 0.1;
Eval(EvalExpr(nw = New Window("window",
obj = dt << Control Chart Builder(K Sigma(Expr(ksigma)), Variables(Subgroup(:Sample), Y(:Weight)));
)));
Wait(1);
ColumnSwitcherObject = obj << Column Switcher(:Weight, {:Pin, :"Weight 2"n});
Re : Créer un sélecteur de colonne - Script JMPSuper! Ça fonctionne!
Cependant, j'ai ajouté dans mon code le substitutInto car je souhaite appliquer un Ksigma spécifique :
SubstituteInto(graph, Expr(TBD), z_KSigmaZ);
ColumnSwitcherObject = graph << Column Switcher( :Y1,{:Y1, :Y2} );Et deux fenêtres sont créées...
Savez-vous s'il existe un moyen de créer une seule fenêtre avec le ColumSwitchersObject ?
Merci beaucoup pour votre réponse
Re : Créer un sélecteur de colonne - Script JMPEssayez d'obtenir une référence à la carte de contrôle et non à une nouvelle fenêtre. Cela pourrait aider
graph = New Window(chart_title,
cc = Control Chart(
puis essayez
ColumnSwitcherObject = cc<< Column Switcher( :Y1,{:Y1, :Y2});
Re : Créer un sélecteur de colonne - Script JMPJ'ai essayé ceci à la fin de mon script:
wait(1);
ColumnSwitcherObject = graph << Column Switcher( :Y1,{:Y1, :Y2});Mais ne fonctionne pas 
Re : Créer un sélecteur de colonne - Script JMPAvec l'aide de l'index de script, peut-être que quelque chose comme ça fonctionnerait :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
obj = dt << Control Chart(Sample Size(1), Chart Col(:Weight), Chart Type(Run Chart));
wait(1);
ColumnSwitcherObject = obj << Column Switcher(:Weight, {:Pin, :Sample, :Weight, :"Weight 2"n});