Erstellen eines Spaltenumschalters – Script JMPHallo,
Ich brauche Hilfe, um einen Spaltenumschalter für ein P'-Diagramm von Laney für Ereignisse zu erstellen.
Unten ist mein Code:
Zuerst müssen wir mit diesen Linien einen Koeffizienten bestimmen:
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;Dann möchte ich hier einen Spaltenumschalter entwickeln:
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" )}
)
)
);
);
Dies wird jedoch mit der Funktion „Chart Col“ entwickelt und es gibt kein zu bestimmendes Y, weshalb ich nicht weiß, wie ich diesen Spaltenumschalter darauf erstellen kann.
Können Sie mir bitte bei dieser Anfrage helfen?
Vielen Dank,
Grüße,
Sebastian
Qualitäts- und VerfahrenstechnikBetreff: Erstellen eines Spaltenumschalters - Skript JMPGroß! Es ist genau das, was ich wollte!
Danke vielmals!
Betreff: Erstellen eines Spaltenumschalters - Skript JMPDie Grafikreferenz ist wieder an der falschen Stelle. Hier ist ein Vorschlag, wie man es beheben kann:
graph_expr = Expr(Graph = Control Chart(
Jetzt haben Sie graph_expr Ausdruck, der bei Aufruf ein Kontrolldiagramm erstellt, auf das mit Graph verwiesen werden kann.
Sie müssen außerdem entweder graph_expr aufrufen, bevor Sie den Spaltenumschalter hinzufügen, oder den Spaltenumschalter in den Ausdruck graph_expr verschieben. Unten ist ein Beispiel mit den Beispieldaten, die ich verwendet habe:
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 switcherBetreff: Erstellen eines Spaltenumschalters - Skript JMPHier ist mein Skript:
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});Betreff: Erstellen eines Spaltenumschalters - Skript JMPOhne zu wissen, wie das Skript aussieht, würde ich normalerweise die folgende Lösung verwenden:
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});
Betreff: Erstellen eines Spaltenumschalters - Skript JMPGroß! Es funktioniert!
Ich habe jedoch in meinem Code das replaceInto hinzugefügt, weil ich ein bestimmtes Ksigma anwenden möchte:
SubstituteInto(graph, Expr(TBD), z_KSigmaZ);
ColumnSwitcherObject = graph << Column Switcher( :Y1,{:Y1, :Y2} );Und zwei Fenster entstehen...
Wissen Sie, ob es eine Möglichkeit gibt, mit dem ColumSwitchersObject nur ein Fenster zu erstellen?
Vielen Dank für Ihre Antwort
Betreff: Erstellen eines Spaltenumschalters - Skript JMPVersuchen Sie, auf die Regelkarte und nicht auf ein neues Fenster zu verweisen. Es könnte helfen
graph = New Window(chart_title,
cc = Control Chart(
und dann versuchen
ColumnSwitcherObject = cc<< Column Switcher( :Y1,{:Y1, :Y2});
Betreff: Erstellen eines Spaltenumschalters - Skript JMPIch habe das am Ende meines Skripts versucht:
wait(1);
ColumnSwitcherObject = graph << Column Switcher( :Y1,{:Y1, :Y2});Funktioniert aber nicht 
Betreff: Erstellen eines Spaltenumschalters - Skript JMPMit etwas Hilfe von scripting index würde vielleicht so etwas funktionieren:
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});