JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungHallo,
Deshalb möchte ich ein Skript schreiben, das ein Toleranzintervall mit 99 % Abdeckung, Alpha = 0,95, für eine Datenspalte berechnet.
Sobald dies erledigt ist, möchte ich auf die USL und LSL zugreifen/auswerten, die zum Ausblenden/Ausschließen von Werten verwendet werden sollen, die außerhalb dieser Grenzen liegen.
Der Grund, warum ich das mache, ist, dass ich zwei Datenspalten habe, die ich übereinander gestapelt habe, und ich Boxdiagramme nebeneinander erstellen möchte.
Aber wenn ich sie erstelle, gibt es große Ausreißer in den Boxplots, die dazu führen, dass die Achsen schlecht skaliert werden. Es wird immer nur eine Handvoll dieser großen Ausreißer geben, daher ist es für mich kein Problem, sie einfach loszuwerden
Ich bin ziemlich neu bei JMP, daher bin ich für jede Hilfe dankbar. Wenn Sie der Meinung sind, dass es einen besseren/einfacheren Weg gibt, dies zu erreichen, wäre das auch großartig.
Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungDanke schön! Vielen Dank für die Hilfe! Entschuldigen Sie die Verzögerung bei der Annahme der Antwort. Ich habe mich bis heute erst wieder an die Arbeit am Drehbuch gemacht.Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungIan ist schneller als ich. Unten finden Sie ein Skript für die gestapelten Daten.
Wie Ian angedeutet hat, müssen Sie mehr über JSL lernen, um Werte aus Tabellen und Berichten auszuwählen und abzurufen.Um auf Ihr nächstes Skript vorbereitet zu sein, sollten Sie die Kapitel „Skriptplattformen“ und „Anzeigebäume“ in der Hilfe > Bücher > Skripthandbuch lesen. Dies wird Ihnen helfen, die verschachtelte Struktur von JMP-Berichten zu verstehen und die Syntax zum Navigieren, Referenzieren und Abrufen zu erlernen.
Beachten Sie, dass Ians Skript Werte leert. Dieses Skript behält ihre Werte bei, schließt sie jedoch von den Analysen aus.
Names default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_stck = dt << Stack(
columns( :height, :weight ),
Source Label Column( "Var" ),
Stacked Data Column( "Data" )
);
close(dt,NoSave);
obj = Distribution( Column( :Data ), By(:Var) );
//using a lower proportion, .80, to screen something
obj << Tolerance Interval( Alpha( 0.95 ), Proportion( 0.8 ) );
tol_dt = report(obj[1])[OutlineBox(2)]["Tolerance Intervals"][TableBox(1)]<<MAKE combined="" data="https://community.jmp.com/" table=""> vhi) ) << hide and exclude(1);
dt_stck << clear select;
);
nw = New Window("Custom Display",
VListBox(
onew = dt_stck << Oneway( Y(:Data), X(:Var)),
text box(),
dbb = tol_dt <<NEW data="https://community.jmp.com/" box=""></NEW></MAKE>Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungOkay, Danny. Manchmal können Sie die erforderlichen Werte direkt abrufen, und manchmal müssen Sie auf die Berichtsebene zugreifen, um sie abzurufen (versuchen Sie es mit „Hilfe > Bücher > Skripthandbuch“).
Dieser Code soll Ihnen den Einstieg erleichtern:
NamesDefaultToHere(1);
// Do the Distribution
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Column( :Height ) );
// Add tolerance intervals (search for the latter using 'Help > Scripting Guide')
dist << Tolerance Interval(Alpha( 0.95 ), Proportion( 0.85 ));
// Get the report layer
distRep = dist << Report;
// Dig out the required values (do 'Show Tree Structure' to see how the report is made up)
lt = distRep[NumberColBox(5)] << get;
ut = distRep[NumberColBox(6)] << get;
// Set extreme values to missing
vals = Column(dt, "Height") << getValues;
vals[Loc(vals < lt[1] | vals > ut[1] )] = .;
Column(dt, "Height") << setValues(vals);
Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungHallo Ian, danke für die Antwort. Ich weiß, wie man das Skript schreibt, das den Verteilungsbericht generiert und das Toleranzintervall berechnet. Es ist der nächste Teil, an dem ich feststecke. Wenn ich JMP dazu bringe, ein Skript für das Toleranzintervall zu generieren, erhalte ich Folgendes:
Distribution(
Continuous Distribution(
Column( :Data ),
Tolerance Interval( Alpha( 0.95 ), Proportion( 0.99 ) )
)
)
Sie sehen also, dass ich an dieser Stelle in meinem Skript meine USL und LSL nicht kenne.Ich brauche mein Skript, um irgendwie die USL/LSL des soeben berechneten Toleranzintervalls zu lesen und dann Zeilen entsprechend auszuschließen/zu löschen.
Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungNein, ich möchte die Toleranzgrenzen als Spezifikationsgrenzen verwenden.
Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungSelbst wenn Sie ein Skript erstellen möchten, ist es gut, dies einmal von Hand zu tun, insbesondere da JMP häufig Code generiert, den Sie verwenden können.
Werfen Sie in diesem Sinne einen Blick darauf Hier Hier erfahren Sie, wie Sie die Toleranzintervalle über „Analysieren > Verteilung“ erhalten. Sobald Sie diese Werte haben, können Sie beispielsweise „Zeilen > Zeilenauswahl > Wo auswählen“ verwenden. . .‘, gefolgt von ‚Zeilen > Zeilen löschen‘.
Betreff: JSL zur Bewertung des Toleranzintervalls USL und LSL nach der BerechnungSind die Toleranzgrenzen und Spezifikationsgrenzen unterschiedlich?