Come posso creare uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?Ciao,
Ho un sacco di script che uso per analizzare i dati di test del prodotto in JMP.
Gli script generalmente chiamano più colonne nel file di dati di test.
Ogni esecuzione di test è contrassegnata da un ID e solo questo ID cambia per estrarre i nuovi dati dell'esecuzione di test in JMP: gli script utilizzati per l'analisi dei dati rimangono gli stessi.
Per condividere la mia analisi, creo (attualmente) manualmente un pacchetto di diapositive PPT con i grafici e i dati di analisi (come mediana e std-dev ecc.).
Vorrei passare al diario JMP.
Mi chiedevo se è possibile avere uno script che (eseguendo automaticamente o senza gli altri script di analisi) invii i grafici e i dati di analisi a un journal JMP? Se questo è possibile, potrei chiedere aiuto con uno script di esempio per mettere insieme un diario del genere?
Grazie.
GraficaScriptingfinestreRi: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?Una ricerca sul Web per "scripting a journal JMP" ti fornirà ulteriori esempi, ma questo potrebbe farti indirizzare nella giusta direzione:
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>Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?Grazie. Sì, questo mi indica un approccio che potrei seguire.
Tuttavia, noto che lo script di caricamento del file di dati e gli script di grafico/analisi ecc. devono essere scritti all'interno dello script per generare il journal.
Nel mio caso, ho già script separati che caricano i dati, tracciano i grafici necessari e generano l'analisi necessaria.
c'è un modo per fare riferimento a script esistenti dall'interno dello script del journal senza scriverli di nuovo all'interno dello script del journal?
Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?Se non vuoi modificare i tuoi script esistenti, puoi provare questo tipo di approccio. Se gli script non sono salvati nella tabella, guarda la funzione JSL 'Include()':
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);
);
Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?Grazie @ian_jmp .
Il tuo script sembra estremamente utile, soprattutto perché sono relativamente nuovo di JMP (proveniente da MATLAB)..
Tuttavia, non capisco il tuo commento su "i Se gli script non vengono salvati nella tabella ".
I miei script vengono salvati e non cambiano per l'analisi di nuovi dati di test (come menzionato nel mio PO).
Inoltre, ho bisogno solo di grafici specifici da ogni script e solo di alcuni dati di analisi calcolati (come mediana e std-dev, ad esempio, non altri parametri calcolati anche da JMP) per andare al diario. Come raggiungere questo obiettivo in JSL?
Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?La selezione di report specifici dal tuo output è abbastanza semplice, ma piuttosto specifica.Ti suggerisco di dedicare del tempo alla lettura della Guida agli script per iniziare.Quindi le tue domande specifiche su come ottenere i rapporti precisi riceveranno risposta dalla documentazione o sarai in grado di fornire una domanda più dettagliata a cui la community dovrà rispondere.
Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?@ian_jmp . Sto cercando di usare il tuo script nel modo seguente.
Ho scritto uno script che carica il file di dati e traccia vari grafici.
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 chartsLo script sopra funziona come previsto.
Quindi (sulla quarta riga sopra), ho provato a includere il tuo script come di seguito (notare le righe commentate) per inviare i grafici al diario ma non funziona.
Dove sbaglio (forse la mia istruzione include o la chiamata di funzione ad es. output = nomiDiOpenWindows() )?
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);
);
Ri: Come faccio a eseguire uno script per inviare grafici e dati di analisi al journal senza eseguire manualmente script esistenti per grafici/analisi?@ian_jmp . Ora ho fatto altri test. Questa parte del tuo script non funziona.
for(w=1, w<=NItems(postWindowList), w++,
thisWindow = postWindowList[w];
if (!Contains(preWindowList, thisWindow), Window(thisWindow) << Journal);
);
Tutto ciò che è sopra questo nel tuo script dà i risultati previsti, ma solo se commento quanto sopra per il blocco del ciclo.
Inoltre, non inserisco i grafici nel diario, quindi solo il codice sopra i look sembra funzionare come previsto a meno che non stia facendo qualcosa di sbagliato.