Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenIm Anhang finden Sie eine Beispieldatentabelle und ein von mir verwendetes Beispielskript, mit dem der Benutzer die Spalte ändern und die Diagramme entsprechend aktualisieren kann. Ich möchte ein zusätzliches Anzeigefeld hinzufügen, mit dem der Benutzer die Grenzwerte für Spalteneigenschaftsspezifikationen ändern und die Diagramme aktualisieren kann. Es wäre so etwas wie Prozessfähigkeitsanalyse << Interaktives Fähigkeitsdiagramm, aber anstelle eines Schiebereglers wäre es ein Zahlenfeld zum Bearbeiten von Zahlen für LSL, USL, Ziel.
Ich hoffe, ich habe gut genug erklärt, wonach ich suche.
Vielen Dank
GrafikSkriptingBetreff: Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenSie sollten wahrscheinlich nur ein zweites Gliederungsfeld unter dem RF-Test-Gliederungsfeld mit den Nummernbearbeitungsfeldern für USL, Target und LSL hinzufügen. Da Sie möglicherweise 3 verschiedene Werte ändern, würde ich wahrscheinlich ein Schaltflächenfeld hinzufügen, auf das geklickt werden muss, um das Diagramm zu aktualisieren.Betreff: Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenDas war der Plan, aber ich möchte das Box-Update mit dem aktuellen "^ ycols_Test ^" und habe dann die Anzahl der Bearbeitungsboxen mit der Spalteneigenschaft Spec Limits aktualisieren lassen. Muss ich die neuen Boxen im "\ [gb_expr_Test [^ i ^]" hinzufügen oder würde ich eine neue erstellen, um die Boxen aufzunehmen?
Betreff: Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenDieser Abschnitt ist die JSL, die die Verteilungsausgabe erzeugt. Hier können Sie also nicht die neuen Felder hinzufügen. Der Abschnitt, auf den ich mich bezog, ist der Abschnitt, der die Gliederungsbox für den RF-Test definiert.Betreff: Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenDanke! Ich habe diese Foren durchsucht und kann anscheinend keine Möglichkeit finden, das Bearbeitungsfeld für eine beliebige Zahl zunächst mit den in der Spalteneigenschaft aufgeführten aktuellen Spezifikationsgrenzen zu füllen.
Wenn Sie das angehängte neue Skript ausführen, wird das Textbearbeitungsfeld "Test" automatisch mit der aktuellen Spalte gefüllt, die für die Verteilung ausgewählt wurde. In diesem Fall möchte ich, dass das Skript die aktuellen Spezifikationsgrenzen abrufen und die LSL, Target, USL (falls zutreffend) ausfüllen kann. Ich kann dann neue Spezifikationslimits eingeben und dann auf die Schaltfläche "Neue Spezifikationslimits laden" klicken. Dann wird die Spalteneigenschaft "Spezifikationslimits" mit den neuen Nummern aktualisiert. Ich möchte auch in der Lage sein, die alten Spezifikationsgrenzen zu speichern und sie dann, wenn Sie fertig sind, wieder der Spalte zuzuweisen.
Betreff: Ändern Sie die Spezifikationsgrenzen dynamisch und lassen Sie die Diagramme entsprechend aktualisierenIch habe nicht Ihren ganzen Code angeschaut. Aber in Bezug auf ' Ich kann anscheinend keine Möglichkeit finden, das Bearbeitungsfeld für eine beliebige Zahl zunächst mit den aktuellen Spezifikationsgrenzen zu füllen, die in der Spalteneigenschaft aufgeführt sind. ', dieser alte Code könnte helfen:
// ian.cox@jmp.com: 02Jun2005
NamesDefaultToHere(1);
// ******************************************************************************************
// Given a column reference, returns the spec limits in a vector, [lower, upper, target]:
// If a limit is not defined it is returned as .
// ******************************************************************************************
getSpecs = Function({col}, {Default Local},
// Note that the number of arguments in slp below can change! It can be 0 (if the
// property is not even defined) or 1, 2 or 3
slp = col << GetProperty("Spec Limits");
// Assume that nothing is defined . . .
l = .; u = .; t = .;
// Find out what is defined . . .
for(i=1, i<=NArg(slp), i++,
thisExpr = Arg(slp, i);
sType = Char(Head(thisExpr));
if (
sType == "LSL", l = Arg(thisExpr, 1),
sType == "USL", u = Arg(thisExpr, 1),
sType == "Target", t = Arg(thisExpr, 1)
)
);
Matrix({l, u, t})
);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
someSpecs = getSpecs(Column(dt, "NPN1"));
nw =
NewWindow("Edit Spec Limits",
lsBox = TextEditBox(someSpecs[1]),
usBox = TextEditBox(someSpecs[2]),
tarBox = TextEditBox(someSpecs[3])
);