Ich habe ein großartiges Skript, das ich mir irgendwo ausgeliehen habe, um mehrere Spezifikationsgrenzen zu importieren und sie jeder Spalte zuzuweisen. Gibt es eine Möglichkeit, beim Bearbeiten der Spezifikation einer Spalte auch das Kontrollkästchen unter Spezifikationsgrenzen für "Als Diagrammreferenzlinien anzeigen" zu aktivieren? Im Moment muss ich das manuell machen.

dt = Current Data Table();
dt2 = Open();
Current Data Table( dt );
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 ) )
);"
)
);
obj << Save Spec Limits as Column Properties;
obj << close window;
nw << close window;
)
);Vielen Dank!
Wenn ich Ihren Code richtig interpretiere, kopieren Sie Ihre Grenzwerte aus der Grenzwerttabelle in die Spalteneigenschaften für Ihre Datentabelle.Wenn dies der Fall ist, sollten Sie sich die Funktion zum Verwalten von Spezifikationsgrenzen in JMP 14 ansehen
Manage Spec Limits( );
Wenn Sie jedoch einfach so weitermachen möchten, wie Sie es tun, finden Sie hier eine Änderung Ihres Skripts, mit der die Show Limits festgelegt werden
Names Default To Here( 1 );
dt = open();
dt2 = Data Table( "limits" );
Current Data Table( dt );
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;
// Loop across all of the item is theList and process
// the data
For( i = 1, i <= N Items( theList ), i++,
theRow = dt2 << get rows where( :Process == theList[i] );
If( N Rows( theRow ) > 0,
// Change theRow to a scaler
theRow = theRow[1];
// Set the spec limits in the dt data table by reading
// the values from the dt2(limits) data table
Eval(
Substitute(
Expr(
Column( dt, theList[i] ) <<
set property(
"spec limits",
{__LSL__, __USL__, __Target__, Show Limits( 1 )}
)
),
Expr( __LSL__ ), Column( dt2, "LSL" )[theRow],
Expr( __USL__ ), Column( dt2, "USL" )[theRow],
Expr( __Target__ ), Column( dt2, "Target" )[theRow]
)
);
);
);
nw << close window;
)
);