Weitere Hilfe bei ModalHallo,
Ich versuche, einige Anzeigefelder in einen Code zu integrieren. Ich hatte gehofft, dass die Eingabe eines Variablennamens aus einer Datentabelle in das Anzeigefeld in den schattierten Bereichen in der folgenden Syntax erscheinen würde "] in die hervorgehobenen Bereiche vergebens, hat jemand irgendwelche Ideen ???
Names Default To Here( 1 );
Clear Symbols();
pb = Page Break Box();
fileopen = "\\Kate\TIV\JMP Data.jmp";
var_name = New Window( "Variable Analysis",
<<MODAL></MODAL>
Vielen Dank an alle Antworten
Re: Mehr Hilfe mit ModalHallo,
Der Code, den ich heute morgen eingefügt habe, muss für das Histogramm von Variablen (Spalte (Als Spalte (Namevar))) in Variablen (X (Als Spalte (Namevar))) geändert werden, damit das Histogramm wieder funktioniert. Der folgende Code ist der Code, der funktioniert hat, wenn alle Referenzzeilen im Histogramm richtig platziert waren. Sie sind sich nicht sicher, warum eine Änderung des Codes das Histogramm etwas stört.
Names Default To Here ( 1 );
Clear Symbols ();
pb = Page Break Box();
fileopen= "\\cslg1.cslg.net\home\U0053680\home\desktop\Kate\TIV\JMP Data.jmp";
var_name = New Window ("Variable Analysis", << Modal, << Return Result,
Text Box ("Please enter Variable to analyse"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Enter Variable Name"), nameVar = textEditBox("QA5030 Thiomersal FBV TIV (%w/v)"),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (var_name, var_name ["nameVar"] );
If (var_name ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (var_name, NItems(var_name)); // Removes the last item "Button 1" from the assignment list
Eval List(var_name); // the assignment from the display box are run
Show ( var_name, nameVar );
hist_param = New Window ("Histogram Bin Parameters", << Modal, << Return Result,
Text Box ("Select Histogram Bin Parameters"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Minimum Amount"), miniAmount = numberEditBox(0.0078),
Text Box ("Maximum Amount"), maxAmount = numberEditBox(0.0122),
Text Box ("Bins Increase by"), increaseAmount = numberEditBox(0.0002),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (hist_param, hist_param ["miniAmount"], hist_param ["maxAmount"], hist_param ["increaseAmount"],
hist_param ["Button"] );
If (hist_param ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (hist_param, NItems(hist_param)); // Removes the last item "Button 1" from the assignment list
Eval List(hist_param); // the assignment from the display box are run
Show ( hist_param, miniAmount, maxAmount, increaseAmount );
ref_lines = New Window ("Reference Lines on Histogram", << Modal, << Return Result,
Text Box ("Select where to place Histogram Reference Lines"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("LSL"), lowerLimit = numberEditBox(0.008),
Text Box ("USL"), UpperLimit = numberEditBox(0.0120),
Text Box ("-3 Standard Deviations"), lesstandDev = numberEditBox(0.008459),
Text Box ("+3 Standard Devaitions"), maxstandDev = numberEditBox(0.010926),
Text Box ("Mean"), meanAmount = numberEditBox(0.0097375),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (ref_lines, ref_lines ["lowerLimit"], ref_lines["UpperLimit"], ref_lines ["lesstandDev"], ref_lines ["maxstandDev"], ref_lines ["meanAmount"],
ref_lines ["Button"] );
If (ref_lines ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (ref_lines, NItems(ref_lines)); // Removes the last item "Button 1" from the assignment list
Eval List(ref_lines); // the assignment from the display box are run
Show ( ref_lines, lowerLimit, UpperLimit, lesstandDev, maxstandDev, meanAmount);
Eval(
Substitute(
Expr(
distrib = New Window( namevar,
Distribution(
Continuous Distribution(
Column( As Column( namevar ) ),
Normal Quantile Plot( 1 ),
Fit Distribution( Normal( Goodness of Fit( 1 ) ) )
),
SendToReport( Dispatch( {__myvar__}, "", Picture Box( 5 ), {Set Summary Behavior( "Collapse" )} ) )
)
) << Move Window( 634, 43 ) << Size Window( 807, 861 ) << Set Window Icon( "Distrib" )
),
Expr( __myvar__ ), namevar
)
);
Graph Builder(
Variables( X( :Name( "QA5030 Thiomersal FBV TIV (%w/v)" ) ) ),
Elements( Histogram( X, Legend( 2 ) ), Histogram( X, Legend( 3 ) ) ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Histogram", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Histogram", Outline Box( 2 ), {Close( 1 )} ),
Dispatch(
{},
"QA5030 Thiomersal FBV TIV (%w",
ScaleBox,
{Min( hist_param ["miniAmount"] ), Max(hist_param ["maxAmount"] ), Inc(hist_param ["increaseAmount"] ), Minor Ticks( 0 ),
Add Ref Line( ref_lines ["lowerLimit"], "Solid", "Blue", "LSL", 1 ),
Add Ref Line( ref_lines["UpperLimit"], "Solid", "Blue", "USL", 1 ),
Add Ref Line( ref_lines ["lesstandDev"], "Solid", "Red", "-3SP", 1 ),
Add Ref Line(ref_lines ["maxstandDev"], "Solid", "Red", "+3SP", 1 ),
Add Ref Line( ref_lines ["meanAmount"], "Solid", "Green", "Mean", 1 )}
)
)
);
Control Chart Builder(
Size( 1187, 500 ),
Show Capability( 0 ),
Variables(
Subgroup( :Lot Number ),
Y( :Name( "QA5030 Thiomersal FBV TIV (%w/v)" ) )
),
Chart( Position( 1 ), Limits( Sigma( Moving Range ) ) ),
Chart( Position( 2 ), Limits( Sigma( Moving Range ) ) ),
SendToReport(
Dispatch(
{},
"QA5030 Thiomersal FBV TIV (%w",
ScaleBox,
{Min( 0.00779755917159763 ), Max( 0.0125370562130178 ), Inc( 0.0005 ),
Minor Ticks( 0 ), Add Ref Line(
0.012,
"Solid",
"Blue",
"USL (0.012)",
1
), Add Ref Line( 0.008, "Solid", "Blue", "LSL (0.008)", 1 )}
)
)
);Re: Mehr Hilfe mit ModalHallo Txnelson,
Ich habe die Datentabelle angehängt, sie ist immer noch in Arbeit, aber es ist eine großartige Erfahrung für mich, zum ersten Mal mit JMP zu arbeiten und die Syntax kennenzulernen. Ich muss also in der Lage sein, zwischen Variablen zu wechseln Fall QA5030 und das Protokoll 10 der gleichen und haben die gleichen Berichtsprodukte, nicht sicher, ob ich es richtig mache. Am Ende muss ich alle einzelnen Protokolle unterdrücken, ein vollständiges Protokoll der Verteilungs-, Histogramm- und Kontrolldiagramme erstellen und in der Lage sein, ein PDF-Dokument zu erstellen. Unten ist der Code bisher:
Names Default To Here ( 1 );
Clear Symbols ();
pb = Page Break Box();
fileopen= "\\cslg1.cslg.net\home\U0053680\home\desktop\Kate\TIV\JMP Data.jmp";
var_name = New Window ("Variable Analysis", << Modal, << Return Result,
Text Box ("Please enter Variable to analyse"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Enter Variable Name"), nameVar = textEditBox("QA5030 Thiomersal FBV TIV (%w/v)"),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (var_name, var_name ["nameVar"] );
If (var_name ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (var_name, NItems(var_name)); // Removes the last item "Button 1" from the assignment list
Eval List(var_name); // the assignment from the display box are run
Show ( var_name, nameVar );
hist_param = New Window ("Histogram Bin Parameters", << Modal, << Return Result,
Text Box ("Select Histogram Bin Parameters"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Minimum Amount"), miniAmount = numberEditBox(0.00728),
Text Box ("Maximum Amount"), maxAmount = numberEditBox(0.0122),
Text Box ("Bins Increase by"), increaseAmount = numberEditBox(0.0002),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (hist_param, hist_param ["miniAmount"], hist_param ["maxAmount"], hist_param ["increaseAmount"],
hist_param ["Button"] );
If (hist_param ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (hist_param, NItems(hist_param)); // Removes the last item "Button 1" from the assignment list
Eval List(hist_param); // the assignment from the display box are run
Show ( hist_param, miniAmount, maxAmount, increaseAmount );
ref_lines = New Window ("Reference Lines on Histogram", << Modal, << Return Result,
Text Box ("Select where to place Histogram Reference Lines"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("LSL"), lowerLimit = numberEditBox(0.008),
Text Box ("USL"), UpperLimit = numberEditBox(0.0120),
Text Box ("-3 Standard Deviations"), lesstandDev = numberEditBox(0.008459),
Text Box ("+3 Standard Devaitions"), maxstandDev = numberEditBox(0.010926),
Text Box ("Mean"), meanAmount = numberEditBox(0.009375),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HlistBox
);
show (ref_lines, ref_lines ["lowerLimit"], ref_lines["UpperLimit"], ref_lines ["lesstandDev"], ref_lines ["maxstandDev"], ref_lines ["meanAmount"],
ref_lines ["Button"] );
If (ref_lines ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (ref_lines, NItems(ref_lines)); // Removes the last item "Button 1" from the assignment list
Eval List(ref_lines); // the assignment from the display box are run
Show ( ref_lines, lowerLimit, UpperLimit, lesstandDev, maxstandDev, meanAmount);
Eval(
Substitute(
Expr(
distrib = New Window( namevar,
Distribution(
Continuous Distribution(
Column( As Column( namevar ) ),
Normal Quantile Plot( 1 ),
Fit Distribution( Normal( Goodness of Fit( 1 ) ) )
),
SendToReport( Dispatch( {__myvar__}, "", Picture Box( 5 ), {Set Summary Behavior( "Collapse" )} ) )
)
) << Move Window( 634, 43 ) << Size Window( 807, 861 ) << Set Window Icon( "Distrib" )
),
Expr( __myvar__ ), namevar
)
);
Eval(
Substitute(
Expr(
Graph Builder(
Variables( Column( As Column( namevar ) ) ),
Elements( Histogram( X, Legend( 2 ) ), Histogram( X, Legend( 3 ) ) ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Histogram", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Histogram", Outline Box( 2 ), {Close( 1 )} ),
Dispatch(
{__myvar__},
" ",
ScaleBox,
{Min( hist_param["miniAmount"] ), Max( hist_param["maxAmount"] ), Inc( hist_param["increaseAmount"] ), Minor Ticks( 0 ),
Add Ref Line( ref_lines["lowerLimit"], "Solid", "Blue", "LSL", 1 ), Add Ref Line(
ref_lines["UpperLimit"],
"Solid",
"Blue",
"USL",
1
), Add Ref Line( ref_lines["lesstandDev"], "Solid", "Red", "-3SP", 1 ), Add Ref Line(
ref_lines["maxstandDev"],
"Solid",
"Red",
"+3SP",
1
), Add Ref Line( ref_lines["meanAmount"], "Solid", "Green", "Mean", 1 )}
)
)
)
),
Expr( __myvar__ ), namevar
)
);
Eval(
Substitute(
Expr(
Control Chart Builder(
Size( 1187, 500 ),
Show Capability( 0 ),
Variables( Subgroup( :Lot Number ), Y( As Column( namevar ) ) ),
Chart( Position( 1 ), Limits( Sigma( Moving Range ) ) ),
Chart( Position( 2 ), Limits( Sigma( Moving Range ) ) ),
SendToReport(
Dispatch(
{},
__myvar__,
ScaleBox,
{Min( 0.00779755917159763 ), Max( 0.0125370562130178 ), Inc( 0.0005 ), Minor Ticks( 0 ),
Add Ref Line( 0.012, "Solid", "Blue", "USL (0.012)", 1 ), Add Ref Line( 0.008, "Solid", "Blue", "LSL (0.008)", 1 )}
)
)
)
),
Expr( __myvar__ ), namevar
)
);Re: Mehr Hilfe mit ModalIch glaube nicht, dass ich mehr tun kann, wenn Sie mir nicht ein Muster Ihrer Datentabelle geben.
Re: Mehr Hilfe mit ModalHallo Txnelson,
und danke noch einmal, der Code hat ein wenig gestolpert, als ich versuche, ihn auszuführen, er baut das Histogramm nicht auf, irgendwelche Ideen?
Vielen Dank für den Tipp mit der rechten Maustaste und "Reformat Script" könnte auch bei meiner Formatierung helfen.
Ich hoffe, dass die Referenzen funktionieren werden. Sobald alles fertig ist, werden Sie darauf hingewiesen und Rat erhalten.
Danke noch einmal
Re: Mehr Hilfe mit Modal1 Es waren zu viele ")". Sie haben den Code für den Graph Builder und den Control Chart Builder nicht ordnungsgemäß eingefügt. Sie können ganz einfach die Unterabschnitte des Codes auswählen, z. B. alles aus der "Eval" vor dem Graph Builder übernehmen und den gesamten Code über ");" auswählen. Klicken Sie am Ende des Eval-Abschnitts mit der rechten Maustaste auf den ausgewählten Code und wählen Sie "Reformat Script". Es wird den Code analysieren und Ihnen etwaige Fehler anzeigen. Das hätte Ihnen schnell gesagt, dass Sie kein passendes "()" haben;
2 Der Code zum Ausführen der Plattformen war falsch. Ich musste ein paar verschiedene Syntaxstücke ändern, um den Code richtig zu machen. Als Beispiel hatten Sie im Control Chart Builder angegeben
Variables( Subgroup( :Lot Number ), Y( column( As Column( namevar ) ) ) ),
Die "Y" -Spalte (als Spalte (Namevar ..........)) ist für die Distribution Platform korrekt, nicht jedoch für die Control Chart Builder Platform. Es gibt keine "Column ()" Funktion. Der Code musste also geändert werden in:
Variables( Subgroup( :Lot Number ), Y( As Column( namevar ) ) )
3. Sie haben mehrere Verweise auf Elemente wie hist_param ["miniAmount"] und "ref_lines [" lesstandDev "]", die ich nicht feststellen kann, ob sie korrekt analysiert werden, da ich keinen Code vor den Eval () - Abschnitten habe. Ich denke, dass Sie dafür alleine sind.
Hier ist eine Kopie des modifizierten Codes. Vergewissern Sie sich, dass Sie die Dokumentation zur Funktion Substitute () gelesen haben, damit Sie wissen, wie sie funktioniert.
Eval(
Substitute(
Expr(
Graph Builder(
Variables( Column( As Column( namevar ) ) ),
Elements( Histogram( X, Legend( 2 ) ), Histogram( X, Legend( 3 ) ) ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Histogram", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Histogram", Outline Box( 2 ), {Close( 1 )} ),
Dispatch(
{__myvar__},
" ",
ScaleBox,
{Min( hist_param["miniAmount"] ), Max( hist_param["maxAmount"] ), Inc( hist_param["increaseAmount"] ), Minor Ticks( 0 ),
Add Ref Line( ref_lines["lowerLimit"], "Solid", "Blue", "LSL", 1 ), Add Ref Line(
ref_lines["UpperLimit"],
"Solid",
"Blue",
"USL",
1
), Add Ref Line( ref_lines["lesstandDev"], "Solid", "Red", "-3SP", 1 ), Add Ref Line(
ref_lines["maxstandDev"],
"Solid",
"Red",
"+3SP",
1
), Add Ref Line( ref_lines["meanAmount"], "Solid", "Green", "Mean", 1 )}
)
)
)
),
Expr( __myvar__ ), namevar
)
);
Eval(
Substitute(
Expr(
Control Chart Builder(
Size( 1187, 500 ),
Show Capability( 0 ),
Variables( Subgroup( :Lot Number ), Y( As Column( namevar ) ) ),
Chart( Position( 1 ), Limits( Sigma( Moving Range ) ) ),
Chart( Position( 2 ), Limits( Sigma( Moving Range ) ) ),
SendToReport(
Dispatch(
{},
__myvar__,
ScaleBox,
{Min( 0.00779755917159763 ), Max( 0.0125370562130178 ), Inc( 0.0005 ), Minor Ticks( 0 ),
Add Ref Line( 0.012, "Solid", "Blue", "USL (0.012)", 1 ), Add Ref Line( 0.008, "Solid", "Blue", "LSL (0.008)", 1 )}
)
)
)
),
Expr( __myvar__ ), namevar
)
);Re: Mehr Hilfe mit ModalHallo Txnelson,
Dies funktionierte ein Leckerbissen, eine weitere Frage. Wenn Sie Ihre Antwort als Vorlage verwenden, sollte das Folgende nicht auch funktionieren?
Eval (
Substitute (
Expr (
Graph Builder(
Variables( Column ( As Column (namevar) ) ) ),
Elements( Histogram( X, Legend( 2 ) ), Histogram( X, Legend( 3 ) ) ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Histogram", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Histogram", Outline Box( 2 ), {Close( 1 )} ),
Dispatch( { __myvar__ }, " ",
ScaleBox,
{Min( hist_param ["miniAmount"] ), Max(hist_param ["maxAmount"] ), Inc(hist_param ["increaseAmount"] ), Minor Ticks( 0 ),
Add Ref Line( ref_lines ["lowerLimit"], "Solid", "Blue", "LSL", 1 ),
Add Ref Line( ref_lines["UpperLimit"], "Solid", "Blue", "USL", 1 ),
Add Ref Line( ref_lines ["lesstandDev"], "Solid", "Red", "-3SP", 1 ),
Add Ref Line(ref_lines ["maxstandDev"], "Solid", "Red", "+3SP", 1 ),
Add Ref Line( ref_lines ["meanAmount"], "Solid", "Green", "Mean", 1 )}
Expr ( __myvar__ ), namevar
) ) )
)
)
);
Eval (
Substitute (
Expr (
Control Chart Builder(
Size( 1187, 500 ),
Show Capability( 0 ),
Variables(
Subgroup( :Lot Number ),
Y( Column ( As Column (namevar) ) )
),
Chart( Position( 1 ), Limits( Sigma( Moving Range ) ) ),
Chart( Position( 2 ), Limits( Sigma( Moving Range ) ) ),
SendToReport(
Dispatch( { __myvar__ }, " ",
ScaleBox,
{Min( 0.00779755917159763 ), Max( 0.0125370562130178 ), Inc( 0.0005 ),
Minor Ticks( 0 ), Add Ref Line(
0.012,
"Solid",
"Blue",
"USL (0.012)",
1
), Add Ref Line( 0.008, "Solid", "Blue", "LSL (0.008)", 1 )}
Expr ( __myvar__ ), namevar
) ) ) )
)
);Es ist für ein Histogramm und eine Kontrollkarte, aber es scheint, dass es nicht funktioniert.
Tausend Dank
Re: Mehr Hilfe mit ModalDanke pmroz, Sie sind nicht falsch, meine Formatierung ist schrecklich und etwas, woran ich arbeiten muss, ich habe nicht die -Taste verwendet, weil ich etwas im Code hervorheben wollte und die -Taste mich nicht zulassen würde Markieren!!!!
Re: Mehr Hilfe mit ModalDas Hauptproblem, das Sie haben, ist, dass einige Stellen, an denen Sie Ihre Variable namens "nameVar" verwenden möchten, so angegeben werden müssen, dass sie von JMP ordnungsgemäß analysiert werden.
In der Referenz
distrib = New Window( namevar,
Sie befassen sich nur mit einem Zeichenfolgenelement, und JMP wird die einfache Form der Angabe des Variablennamens verwenden ... solange der Inhalt der Variablen nameVar eine Zeichenfolge ist, funktioniert dies.
In der Referenz
Column( As Column( namevar ) ),
Sie müssen JMP anweisen, die Variable nameVar als Spaltenreferenz zu behandeln, was einfach mit der Funktion As Column () erfolgen kann.
Ihre letzte Ausgabe ist schwieriger. JMP wertet den SendToReport nicht aus. Es wird davon ausgegangen, dass dies nur korrekter Code ist und keine Variablenauswertung durchführt. Daher kann die Substitution () - Funktion verwendet werden, um die Bewertung durchzuführen und den Code dann an JMP zu übergeben, um ausgeführt zu werden.
Eval(
Substitute(
Expr(
distrib = New Window( namevar,
Distribution(
Continuous Distribution(
Column( As Column( namevar ) ),
Normal Quantile Plot( 1 ),
Fit Distribution( Normal( Goodness of Fit( 1 ) ) )
),
SendToReport( Dispatch( {__myvar__}, "", Picture Box( 5 ), {Set Summary Behavior( "Collapse" )} ) )
)
) << Move Window( 634, 43 ) << Size Window( 807, 861 ) << Set Window Icon( "Distrib" )
),
Expr( __myvar__ ), namevar
)
);
Hier ist das komplette Skript
Names Default To Here( 1 );
Clear Symbols();
pb = Page Break Box();
fileopen = "\\Kate\TIV\JMP Data.jmp";
var_name = New Window( "Variable Analysis",
<<MODAL></MODAL>
Re: Mehr Hilfe mit ModalDu bist fast da. Versuchen Sie diesen Code. Ich habe Ihre Datei durch Big Class ersetzt, da ich nicht über Ihren Datensatz verfügte.
Names Default To Here( 1 );
//fileopen = "\\Kate\TIV\JMP Data.jmp";
fileopen = "$sample_data\Big Class.jmp";
dt = open(fileopen);
var_name = New Window( "Variable Analysis", <<MODAL></MODAL>
Übrigens wäre es hilfreich, wenn Sie einen Code eingeben, wenn Sie die Schaltfläche verwenden. Das Formatieren würde auch nicht schaden!