Script: Extracción de límites de especificaciones de la capacidad del proceso de distribuciónEstoy intentando escribir un script (JMP 16.0) para seleccionar columnas de un conjunto de datos, crear distribuciones, realizar un ajuste continuo “TODO” y generar capacidad de procesamiento en el mejor ajuste (ver a continuación).
Lo que me está costando es averiguar cómo generar una tabla con las características de las distribuciones, específicamente los límites de especificación generados. También tengo dificultades para combinar todas las distribuciones en una sola ventana. Cualquier sugerencia será muy apreciada. He intentado buscar en la documentación de objetos que se pueden programar sin suerte.
file = Current Data Table ();
TableList = List ();
For (i = 1, i <= NTable(), i++,
TableList [i] = Data Table (i) << Get Name
);
ColSelect = Column Dialog (
Column Use = ColList ("Add", Max Col (N Col()))
);
For (i = 1, i <= N Items(ColSelect["ColumnUse"]), i++,
colName = ColSelect ["ColumnUse"] [i] << Get Name;
obj = file << Distribution(
Continuous Distribution(Column(Eval(colName)), Fit ALL)
);
specLimits = obj << (Fit Handle["best"] << Process Capability( Set Sigma Multiplier for Quantile Spec Limits( 3 ), show limits ));
);Exploración y visualización de datosIngeniería de Calidad y ProcesosRe: Script: extracción de límites de especificación de la capacidad del proceso de distribución¿Qué tal el siguiente guión? Espero eso ayude.
file = Open("$SAMPLE_DATA/Cities.jmp");
ColSelect = Column Dialog( Column Use = ColList( "Add", Max Col( N Col() ) ) );
If( ColSelect["Button"] != 1,
Throw();
);
spec limit aa = Associative Array();
nw = New Window( "Combined Results",
H List Box(
For( i = 1, i <= N Items( ColSelect["ColumnUse"] ), i++,
colName = ColSelect["ColumnUse"][i] << Get Name;
obj = file << Distribution(
Continuous Distribution( Column( Eval( colName ) ), Fit ALL )
);
rpt = obj << report;
best dist = rpt[Outline Box( "Compare Distributions" )][Table Box( 1 )][
String Col Box( 1 )] << get( 1 );
Eval(
Eval Expr(
obj << (Fit Handle[Expr( best dist )] <<
Process Capability( Set Sigma Multiplier for Quantile Spec Limits( 3 ) ))
)
);
spec limits = rpt[Outline Box( "Process Capability" )][
Outline Box( "Process Summary" )][Table Box( 1 )][Number Col Box( 1 )] << get;
spec limit aa[colName] = Eval List( {spec limits, best dist} );
)
)
);
//Save to New Data Table
result dt = New Table( "Results" );
colnames = spec limit aa << get keys;
result dt << addmultiplecolumns( "key", N Items( colnames ), Numeric );
For( i = 1, i <= N Col( result dt ), i++,
Column( result dt, i ) << set name( colnames[i] )
);
result dt << addrows( 5 );
For( j = 1, j <= N Col( result dt ), j++,
For Each Row(
i = Row();
Try( result dt[i, colnames[j]] = spec limit aa[colnames[j]][1][i] );
)
);