<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Una especie de novato con JMP Scripting. Agradezco cualquier ayuda que pueda obtener.
Estos son los pasos que estoy tratando de lograr. Primero estoy abriendo el archivo de Excel y dentro de ese archivo de Excel seleccionando una hoja.Luego estoy aplicando algunas declaraciones SQL para obtener un subconjunto de los datos de la hoja y nombrando ese conjunto de datos
como Subconjunto de Adherencia.A continuación, se crea un registro en el que estoy escribiendo todos los puntos de control que han fallado. Lo siguiente es trazar un gráfico de control basado en la columna CPASU final. Aquí es donde comienza mi problema.
Quiero que se dibuje el gráfico de control solo si los datos han fallado en alguna de las pruebas. En otras palabras, si los puntos de datos pasan las siete pruebas de los límites de control, no quiero que JMP muestre ese gráfico. Solo debe mostrar el gráfico cuando algo está fuera de los límites.Esto es particularmente útil cuando tengo más de 50 gráficos, como es el caso aquí, pero no he incluido todos los otros 49 códigos de gráficos.
Hacer eso aseguraría que solo me concentre en corregir las cosas que van mal en lugar de mirar todos los gráficos
y averiguar qué puntos de datos de los gráficos salieron mal.Finalmente, lo que estoy haciendo es guardar estos gráficos como un archivo HTML en una carpeta para poder escribir un script en VBA que luego publicaría estas imágenes en el sitio de Sharepoint.Este paso está funcionando bien, pero me estoy quedando corto de ideas con el paso anterior.
Mi código sigue:
Abrir base de datos("DSN=Archivos de Excel;DBQ=C:\Users\XXXXX\Documents\XXXX\JMP Analysis\XXXXX.xlsm;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;", "SELECT * FROM `'CPASU $'`","CPASU$");
//Crear el subconjunto
(Tabla de datos( "CPASU por cola$" ) << Seleccione Donde(Y(FWEEK>=201201,FWEEK!=201248, FWEEK!=201247, FWEEK!=201243, Adherence>0))<< Subset( Linked );
Tabla de datos actual( Tabla de datos( "Subconjunto de adherencia $" ) ));
// Borrando las columnas de registro y configuración para el archivo csv
Borrar registro();
Write("Nombre de la cola,Prueba,Columna,Punto de datos\!N");
//Iniciar gráficos de control
Nueva ventana( "Subconjunto de CPASU",
Cuadro de lista V (
Gráfico de control(Etiqueta de muestra( :FWEEK ),(Secuencia de comandos de alarma(Escribir("Estándar NA,",qc_test,",",qc_col,qc_sample,"\!N")),
Tamaño del grupo ( 1 ),
KSigma( 3 ),}
Gráfico Col( :CPASU final, Medición individual(Zonas de sombra(1), Prueba 1(1)) ),Dónde( :Nombre de la cola == "Estándar NA"),),);
Savelog("C:\Usuarios\XXXX\Documentos\XXXX\JMP Analysis\JMPlogs.csv");
Window(“Subconjunto de CPASU”) << SaveHTML (“C:\Users\XXX\Documents\XXX\JMP Analysis\HTML\CPASU.html”);
Ignore si hay una discrepancia en el número de paréntesis de apertura y cierre.
Hola Ashwin,
Hay algunas maneras en las que puedo pensar para hacer esto, pero creo que la más fácil sería generar un script en sus gráficos de control tal como están y luego hacer que JMP abra ese archivo de registro que escribió como una tabla. A partir de aquí, hay algunas formas en las que puede ir, pero esencialmente ahora tiene una tabla en JMP que muestra qué rupturas tienen fallas. Puede cargar una lista distinta de valores de "Nombre de cola" en una variable de lista y hacer que se repita a través de un segundo script como lo ha hecho ... esencialmente reemplazando where(:Nombre de cola = "Estándares NA") con Where(:Nombre de cola = Lista) de esa manera solo escribirá los gráficos que han fallado. Así que su segunda sección se vería algo así como:
Cuadro de lista V (
For( i= 1, i <= N Elementos(NOMBRE DE LA LISTA), i++,
Gráfico de control (Etiqueta de muestra (: FWEEK), (Secuencia de comandos de alarma (Escribir (char (NOMBRE DE LA LISTA) ,",",qc_test,",",qc_col,qc_sample,"\!N")),
Tamaño del grupo ( 1 ),
KSigma( 3 ),
Gráfico Col( :CPASU final, Medición individual(Zonas de sombra(1), Prueba 1(1)) ),Dónde( :Nombre de la cola == NOMBRE DE LA LISTA ),),));
Reemplazando naturalmente el NOMBRE DE LA LISTA con lo que quieras llamar a tu lista. No he probado este código, por lo que podría haber algunos ajustes para paréntesis y comas... pero creo que entiendes la idea.