Hola a todos,
Tengo un cliente que acaba de pasar de v15 a v18. Usan el programa con scripts preescritos para generar gráficos de control/análisis de capacidad y tienen ~100 scripts para diferentes tareas, pero todos usan 'Gráficos de control heredados'. Quieren ver si existe una manera fácil de cambiar estos scripts para que funcionen con Control Chart Builder sin tener que volver a ensamblar cada uno individualmente.
Para contexto, aquí hay un mensaje del cliente:
- ¿Cómo estás usando estos scripts? ¿Existe una tabla de datos de plantilla en la que puede colocar datos y luego "reproducir" el script? Sólo me pregunto si hay una 'plantilla' central que se pueda cambiar para facilitar las cosas (en lugar de que cada usuario cambie los scripts individualmente). à Para cada producto disponemos de un fichero JMP específico donde registramos todos los datos referentes a su Control de Calidad. Dependiendo del producto, el número de parámetros tabulados puede variar y elaboramos scripts para cada uno de ellos. No tenemos una plantilla central; Trabajamos con archivos individuales por productos y scripts para cada parámetro de cada producto. Como puedes imaginar, hay muchos archivos diferentes.
- ¿Cuántos tipos diferentes de gráficos estás usando? En este ejemplo, es una IMR de los estándares internos de 1/2, 1/4, 1/8, etc. ¿Hay gráficos diferentes?Por ejemplo, para el producto del código enviado, tenemos un archivo JMP con 5 scripts diferentes y en cada uno de ellos intentamos agrupar “mismo tipo” de parámetro. Por ejemplo, en el Script de Reactividad agrupamos los mismos resultados de reactividad a diferentes diluciones, luego tenemos otro Script de Controles y en este agrupamos todos los lotes de controles, cada uno con gráficas individuales.
- ¿Cuántos guiones crees que es necesario cambiar?Podríamos tener más de 180 productos diferentes, cada uno con el archivo JMP individual, y en cada archivo JMP diferentes scripts que varían dependiendo de los parámetros a evaluar. No tenemos una estimación exacta de los Scripts a cambiar pero es un trabajo enorme cambiar cada archivo e incluso rehacerlos según la nueva configuración.
Tengo un ejemplo de uno de sus scripts a continuación: ¡cualquier consejo sería muy apreciado!
//I and MR Charts with Sample Labels
Control Chart(
Sample Label( :Lote Semielaborado Rg Lx ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col(
:"House Standard 1/1"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/1"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis( LSL( 1 ), USL( 4 ) ),
Normal Quantile Plot( 1 )
)
)
)
),
Chart Col(
:"House Standard 1/2"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/2"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis(
LSL( 1 ),
USL( 4 ),
Sigma( 0.827145130419285 ),
Shewhart
),
Normal Quantile Plot( 1 ),
Process Capability( Use Column Property Specs )
)
)
)
),
Chart Col(
:"House Standard 1/4"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/4"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis(
LSL( 1 ),
USL( 4 ),
Sigma( 0.487424808997079 ),
Shewhart
),
Normal Quantile Plot( 1 ),
Process Capability( Use Column Property Specs )
)
)
)
),
Chart Col(
:" House Standard 1/8"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :" House Standard 1/8"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis(
LSL( 1 ),
USL( 4 ),
Sigma( 0.295408975149745 ),
Shewhart
),
Normal Quantile Plot( 1 ),
Process Capability( Use Column Property Specs )
)
)
)
),
Chart Col(
:"House Standard 1/16"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/16"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis(
LSL( 0 ),
USL( 4 ),
Sigma( 0.812374681661797 ),
Shewhart
),
Normal Quantile Plot( 1 ),
Process Capability( Use Column Property Specs )
)
)
)
),
Chart Col(
:"House Standard 1/32"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/32"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis( LSL( 0 ), USL( 4 ) ),
Normal Quantile Plot( 1 )
)
)
)
),
Chart Col(
:"House Standard 1/64"n,
Individual Measurement( Shade Zones( 1 ), Test 1( 1 ), Test 3( 1 ) ),
Moving Range,
Capability(
Distribution(
Continuous Distribution(
Column( :"House Standard 1/64"n ),
Quantiles( 0 ),
Summary Statistics( 0 ),
Outlier Box Plot( 0 ),
Capability Analysis( Target( 0 ) ),
Normal Quantile Plot( 1 )
)
)
)
),
//Send Results to Report
SendToReport(
Dispatch( {"Individual Measurement of HS 1/1 SPEC P"}, "IR Chart of IM",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/1 SPEC P"},
"Control Chart Limits frame", FrameBox,
{Frame Size( 64, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/1 SPEC P", OutlineBox, {Close( 1 )} ),
Dispatch( {"Moving Range of HS 1/1 SPEC P"}, "IR Chart of MR", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/2 SPEC P"}, "IR Chart of IM",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/2 SPEC P", OutlineBox,
{Close( 1 )}
),
Dispatch( {"Moving Range of HS 1/2 SPEC P"}, "IR Chart of MR", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/4 SPEC P"}, "IR Chart of IM",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/4 SPEC P", OutlineBox,
{Close( 1 )}
),
Dispatch( {"Moving Range of HS 1/4 SPEC P"}, "IR Chart of MR", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/8 SPEC P"}, "IR Chart of IM",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/8 SPEC P", OutlineBox, {Close( 1 )} ),
Dispatch( {"Moving Range of HS 1/8 SPEC P"}, "IR Chart of MR", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/16 SPEC P/N"},
"IR Chart of IM", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/16 SPEC P/N", OutlineBox,
{Close( 1 )}
),
Dispatch( {"Moving Range of HS 1/16 SPEC P/N"}, "IR Chart of MR",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/32 SPEC P/N"},
"IR Chart of IM", FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/32 SPEC P/N", OutlineBox,
{Close( 1 )}
),
Dispatch( {"Moving Range of HS 1/32 SPEC P/N"}, "IR Chart of MR",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {"Individual Measurement of HS 1/64 SPEC N"}, "IR Chart of IM",
FrameBox,
{Frame Size( 657, 208 )}
),
Dispatch( {}, "Moving Range of HS 1/64 SPEC N", OutlineBox, {Close( 1 )} ),
Dispatch( {"Moving Range of HS 1/64 SPEC N"}, "IR Chart of MR", FrameBox,
{Frame Size( 657, 208 )}
)
)
);
Gracias,
ben