¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?Hola,
Tengo un montón de scripts que utilizo para analizar los datos de prueba del producto en JMP.
Los scripts generalmente llaman a varias columnas en el archivo de datos de prueba.
Cada ejecución de prueba está etiquetada con una ID y solo esta ID cambia para extraer los datos de la nueva ejecución de prueba en JMP; los scripts utilizados para el análisis de datos siguen siendo los mismos.
Para compartir mi análisis, (actualmente) creo manualmente un paquete de diapositivas PPT con los gráficos y los datos de análisis (como mediana y estándar-dev, etc.).
Me gustaría pasar a la revista JMP.
Me preguntaba si es posible tener un script que (ya sea ejecutando mis otros scripts de análisis automáticamente o sin él) envíe los gráficos y los datos de análisis a un diario de JMP. Si esto es posible, ¿podría obtener ayuda con un script de ejemplo para armar un diario de este tipo?
Gracias.
GráficosScriptingVentanasRe: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?Una búsqueda en la web de 'scripting a JMP journal' le dará más ejemplos, pero esto podría llevarlo en la dirección correcta:
Names default to here(1);
dt = Open("$SAMPLE_DATA\Big Class.jmp");
// New Journal with a couple headings
nw = New Window("My Journal", <<JOURNAL></JOURNAL>Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?Gracias. Sí, esto me indica un enfoque que podría seguir.
Sin embargo, observo que el script de carga del archivo de datos y los scripts de análisis / trazado de gráficos, etc., deben escribirse dentro del script para generar el diario.
En mi caso, ya tengo scripts separados que cargan los datos, trazan los gráficos necesarios y generan el análisis necesario.
Yo hay una manera de hacer referencia a los scripts existentes desde dentro del guión del diario sin volver a escribirlos dentro del guión del diario?
Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?Si no desea modificar sus scripts existentes, puede probar este tipo de enfoque. Si los scripts no están guardados en la tabla, mire la función JSL 'Incluir ()':
NamesDefaultToHere(1);
// Returns a list containing the names of all the currently open windows in a session
namesOfOpenWindows =
Function({}, {DefaultLocal},
openWindows = Window();
openWindowNames = {};
For(w=1, w<=NItems(openWindows), w++, InsertInto(OpenWindowNames, OpenWindows[w] << GetWindowTitle));
openWindowNames;
);
// Which windows are open now?
preWindowList = namesOfOpenWindows();
// Open a table
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Find out what scripts are in the table
dts = dt << GetTableScriptNames;
// Run every script
for (s=1, s<=NItems(dts), s++, dt << runScript(dts[s]));
// Which windows are open now?
postWindowList = namesOfOpenWindows();
// Journal the contents of each 'new' window
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?Gracias @ian_jmp .
Su script parece extremadamente útil, especialmente porque soy relativamente nuevo en JMP (proveniente de MATLAB).
Sin embargo, no entiendo que comentas sobre "yo Si los scripts no se guardan en la tabla ".
Mis scripts se guardan y no cambian para el análisis de nuevos datos de prueba (como se menciona en mi OP).
Además, solo necesito gráficos específicos de cada script y solo algunos datos de análisis calculados (como mediana y std-dev, por ejemplo, no otros parámetros que JMP también calcula) para ir al diario. ¿Cómo lograr esto en JSL?
Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?La selección de informes específicos de su salida es bastante simple, pero bastante específica.Le sugiero que se tome el tiempo de leer la Guía de secuencias de comandos para comenzar.Luego, sus preguntas específicas sobre cómo obtener los informes precisos serán respondidas por la documentación o podrá proporcionar una pregunta más detallada para que la comunidad la responda.
Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?@ian_jmp . Estoy tratando de usar su secuencia de comandos de la siguiente manera.
He escrito un script que carga el archivo de datos y traza varios gráficos.
partID = "part012"; // specifies part ID
DataTable = getDataTable4WfrID2(partID,partID); // loads test data table corresponding to the partID and names it the same as partID
include ("allGraphPlotter.jsl"); //plots all necessary chartsEl script anterior funciona como se esperaba.
Luego (en la cuarta línea de arriba), intenté incluir su script como se muestra a continuación (tenga en cuenta las líneas comentadas) para enviar los gráficos al diario, pero no funciona.
¿Dónde estoy yendo mal (quizás mi declaración de inclusión o la llamada a la función, por ejemplo, salida = namesOfOpenWindows () )?
NamesDefaultToHere(1);
// Returns a list containing the names of all the currently open windows in a session
namesOfOpenWindows =
Function({}, {DefaultLocal},
openWindows = Window();
openWindowNames = {};
For(w=1, w<=NItems(openWindows), w++, InsertInto(OpenWindowNames, OpenWindows[w] << GetWindowTitle));
openWindowNames;
);
// Which windows are open now?
preWindowList = namesOfOpenWindows();
// Open a table
//dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Find out what scripts are in the table
//dts = dt << GetTableScriptNames;
// Run every script
//for (s=1, s<=NItems(dts), s++, dt << runScript(dts[s]));
// Which windows are open now?
postWindowList = namesOfOpenWindows();
// Journal the contents of each 'new' window
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Re: ¿Cómo hago un script para enviar gráficos y datos de análisis a la revista sin ejecutar manualmente los scripts existentes para gráficos / análisis?@ian_jmp . Ahora he hecho algunas pruebas más. Esta parte de su secuencia de comandos no funciona.
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Todo lo que está arriba de esto en su secuencia de comandos da los resultados esperados, pero solo si comento lo anterior para el bloque de bucle.
Además, no obtengo los gráficos en el diario, por lo que solo el código que se encuentra arriba de las apariencias parece funcionar como se esperaba a menos que esté haciendo algo mal.