Spezifikationsgrenzen importierenIch habe also ein Skript, das Process Capability für eine Datentabelle ausführt. Mit dieser Lösung kann ich es automatisch ausführen. https://community.jmp.com/t5/Discussions/JSL-automate-the-columns-used-in-Process-Capability/mp/39855 . Ich versuche jetzt auch, das Datenblatt automatisch zu importieren. Im Moment haben Benutzer automatisch 2 Blätter. 1 mit Daten und 1 mit den Spezifikationsinformationen. Ich kann eine Lösung erstellen, die die Datenblattinformationen in die Spalteneigenschaften kopiert, aber ich würde sie lieber im Code ausführen lassen, falls Benutzer das Datenblatt mit einer anderen Spezifikationsdatei verwenden möchten.
mein Code bisher...
yyy = Eval( Parse("summ_table << Process Capability(
Prozessvariablen( " || TheVars || "), <
Spec Limits(Import Spec Limits(\!"" || Spec ||"\!")) <
);"
)
);
spec enthält den Namen der offenen Spezifikationstabellen. Ich kann es problemlos in diesen beiden Formaten bekommen.
„specTable1.jmp“
„DataTable(“specTable1.jmp“)“
Den Code für die Spezifikationsgrenzen habe ich von diesem Blog erhalten – https://community.jmp.com/t5/JMPer-Cable/3-ways-to-load-your-specification-limits-into-Process-Capability/ba-p/34189
Betreff: Spezifikationsgrenzen importierenSchreiben Sie Grenzwerte aus einer Grenzwerttabelle in eine Datentabelle Add-In ist eine Option
Betreff: Spezifikationsgrenzen importierenDanke, jthi.Es funktioniert gut mit Ihrem modifizierten Skript ~
Gibt es ein Skript zum Laden der Grenzwertdatei und zum direkten Speichern aller Grenzwerte für Spalteneigenschaften?
Betreff: Spezifikationsgrenzen importierenDies ist ein ziemlich altes Skript (und Beitrag), und je nachdem, was Sie am Ende tun möchten, wird festgelegt, wie es geändert werden soll (oder Sie sollten möglicherweise ein anderes Skript vollständig oder möglicherweise das bereitgestellte Add-In verwenden).
Mit dem Add-In müssen Sie den Modellierungstyp „Variable Spalten“ von „Unstrukturierter Text“ in „Nominal“ ändern


Nachfolgend finden Sie eine relativ schnelle Änderung, die funktionieren sollte, wenn Sie JMP16+ für das Skript haben (Änderungen an den Zeilen 24 und 26):
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":\!"" || thelist[1] ||"\!"n";
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ", :\!"" || thelist[i] ||"\!"n";
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);Betreff: Spezifikationsgrenzen importierenHallo Txnelson,
Ich versuche, Ihr Skript zu verwenden, um den Import meiner Limitdatei auszuführen, es tritt jedoch ein Fehler auf. (meine Limit-Spezifikationsdatei anhängen)
Es scheint ein Problem mit dem langen Variablennamen oder dem Zeichen „/“ zu sein. Können Sie mir helfen? Danke schön.

Grüße, Chily
Betreff: Spezifikationsgrenzen importierenDies ist also im wahrsten Sinne des Wortes aus dem Scripting Index kopiert und eingefügt. Meiner Meinung nach ist es die einfachste Möglichkeit, Spezifikationen aus einer Tabelle zu laden und sie in den Spalteneigenschaften einer anderen Tabelle zu speichern.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Capability(Y( :OZONE, :CO, :SO2, :NO ), Spec Limits(Import Spec Limits("$SAMPLE_DATA/CitySpecLimits.jmp")));
obj << Save Spec Limits as Column Properties;<STRIKE></STRIKE><BR />
...obwohl ich sagen muss, dass das Add-In von Jim Nelson ziemlich schick ist und einige sehr praktische allgemeine Funktionen bietet.
Betreff: Spezifikationsgrenzen importierenUnabhängig davon, ob Sie die Beispieldatentabellen öffnen können oder nicht, kann der von mir eingefügte Code ausgeschnitten und in Ihre JMP-Sitzung eingefügt werden, mit der Gewissheit, dass er funktioniert. Wenn Sie also Ihre eigene Datentabelle und Grenzwerttabelle verwenden und der Code für Sie nicht funktioniert, müssen Sie anhand Ihrer Daten nach dem Problem suchen.
Betreff: Spezifikationsgrenzen importierenIch denke, dass mein PC das Problem ist. Ihr Skript sieht so aus, als ob es funktionieren sollte und funktioniert auf Ihrem PC. Ich habe Ihre Beispieltabellen heruntergeladen, aber auf meinem Computer wird ein Fehler/eine Warnung angezeigt. Es sieht so aus, als ob Ihre Lösung funktioniert, aber etwas anderes passiert. Ich denke, ich muss zuerst die E/A reparieren, bevor ich Ihre Lösung implementieren kann.

Betreff: Spezifikationsgrenzen importierenJSL ist in der Lage, fast alles auszuführen, was Sie tun müssen. Als Antwort auf Ihre Frage: Ja, Sie können die Datentabelle und dann die Grenzwerttabelle auswählen und dann die Prozessfähigkeit ausführen. Hier ist ein sehr einfaches Skript, das genau das tut. Ich habe es mit der beigefügten Daten- und Grenzwerttabelle getestet. Der Code ist definitiv nicht kugelsicher. Aber es sollte Ihnen zeigen, wie es weitergeht.
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":" || thelist[1];
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ",:" || thelist[i]
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);Betreff: Spezifikationsgrenzen importierenIch habe mir den Code dieses Add-Ons angesehen und für mich scheint es etwas zu bewirken, was ich bereits getan habe. Grundsätzlich werden die Spalten in einer Tabelle so bearbeitet, dass sie die Grenzwertmerkmale aufweisen.
Ich frage mich, ob es möglich ist, JSL zu verwenden, um den Benutzer grundsätzlich nach einem Blatt mit Daten und einem Blatt mit den Grenzwerten/Spezifikationen zu fragen. Nachdem der Benutzer diese 2 eingegeben hat, wird das Skript anschließend automatisch ausgeführt und führt eine Fähigkeitsanalyse auf dem Blatt mit den Daten durch. Grundsätzlich ist es also möglich, ein Spezifikationsblatt in einer Fähigkeitsanalyse mit JSL auszuführen. Ich frage mich, ob diese Zeile möglich ist, wie im zweiten Beitrag beschrieben, der im Originalbeitrag verlinkt ist.
Spec Limits(Import Spec Limits(\!" specLimits.jmp\!"))
Es scheint nicht zu funktionieren. Sollte ich einfach versuchen, es so zu formatieren? und haben Sie eine lange Zeichenfolge mit allen Grenzwert-/Spezifikationsinformationen?
Spec Limits(
c1( LSL( -1.4 ), Target( . ), USL( . ) ),
c2 2( LSL( -1.4 ), Target( . ), USL( . ) ),
Name( "c3" )(LSL( 12 ), Target( . ), USL( 144 )),
c4( LSL( . ), Target( . ), USL( -18 ) )
),
Betreff: Spezifikationsgrenzen importierenEs gibt ein JMP-Add-In, das Spezifikationsgrenzen aus einer zusätzlichen Datentabelle füllt, die die Spezifikationsgrenzen enthält.
Schreiben Sie Grenzwerte aus einer Grenzwerttabelle in eine Datentabelle
Wenn es nicht genau das tut, was Sie wollen, können Sie jederzeit die JSL herausziehen und sie an Ihre Bedürfnisse anpassen