Ich bin relativ neu in JMP JSL. Ich versuche seit einiger Zeit, mehrere Kontrollgrenzen in ein Variabilitätsdiagramm und ein bivariates Diagramm mit JSL-Skript aufzunehmen. Vorläufig ein paar Mal getestet, aber immer noch nicht wie erwartet. Beim Ausführen des angehängten JSL-Skripts wird kein Diagramm angezeigt.
Anstatt fortzufahren, wollte ich mich an die Krähen wenden und sich auf die Erfahrung / das Fachwissen anderer Leute stützen, um es nahtlos einzurichten. Das erwähnte Skript habe ich angehängt.
Beschreibung | Datei |
JMP JSL-Skript | at=data table("X KPP Last 24 Hours_csv");
/// select data when :complevel_1 == "U1"
at<<SELECT where=""> 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
g1=Outline Box("U1",
bt<<VARIABILITY chart=""></VARIABILITY></SELECT> |
Ich wollte die Variabilität und das bivariate Diagramm einschließlich der jeweiligen Kontrollgrenzen automatisch darstellen.
Beschreibung | Beispiel |
Erwartung der Variabilitätstabelle | Siehe Variabilitätstabelle.jrn |
Bivariate Diagrammerwartung | siehe bivariate _Fit Y by X. jrn |
Freundlicher Hinweis. Ich bin daran interessiert, die Skriptantwort und die interaktive Erklärung dazu zu kennen.
Vielen Dank, dass Sie sich die Zeit genommen haben, diese Anfrage zu prüfen.
Hallo @Danial1 ,
Ich möchte Sie nur darüber informieren, dass das JMP-Variabilitätsdiagramm automatisch Spec Limits anzeigt, solange wir es in der Spalteneigenschaft festlegen (aber nicht Control Limits).
Ich glaube, Sie versuchen, die Spec-Limits mit LSL und USL anzuzeigen.
In Ihrem Skript gibt es einen kleinen Tippfehler, wie in der Abbildung unten gezeigt. Nachdem Sie die LCL auf LSL und UCL auf USL festgelegt haben, funktioniert das Skript einwandfrei. Sie können versuchen, es mit dem beigefügten Skript erneut auszuführen.

Außerdem glaube ich, dass Sie versuchen, den iterativen Teil des Skripts zu verstehen.
colNames = bt << get column names( numeric, string );
For( i = 1, i <= N Rows( btl ), i++,
colNamesPosition = Loc( colNames, btl:Parameter[i] );
If( N Rows(colNamesPosition) > 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
Ich werde versuchen, das unten in Punkteform zu erklären.
1. Rufen Sie alle Spaltennamen in der Teilmengentabelle (mit dem Namen U1) ab
2. Iterieren Sie es entsprechend der Gesamtzahl der Zeilen in der Spezifikationslimittabelle (benannt btl)
3. Geben Sie die Matrix jeder Spalte in der Spec-Limit-Tabelle zurück (suchen Sie nach 'Loc' unter JMP Help > Scripting Index)
4. Wenn es noch verbleibende Spalten gibt, die noch zu Schleifen sind, dann ersetzen Sie die Spalteneigenschaften weiterhin durch LSL und/oder USL gemäß den Tabellenspalten der Spec-Grenze (benannt btl)
Ich bin kein JSL-Experte, hoffe jedoch, dass die obige Erklärung hilft!
Hallo @Danial1
Leider gibt es jetzt keine Möglichkeit, Control Limits bevorzugt in ein Diagramm einzuführen, daher gibt es auch keine Möglichkeit, automatisch zwei Grenzwertsätze in dasselbe Diagramm einzuführen.
Bitte zögern Sie jedoch nicht, Ihre Wünsche in die Intel-JMP-Wunschliste einzutragen.
https://community.jmp.com/t5/Intel-Wish-List/idb-p/intel-ideas