Estrazione dei dati dalle caselle di contorno tramite un ciclo nel giornaleCiao a tutti,
Sto cercando di creare uno script che stampi i dati per me. Ho un journal, dove voglio stampare i dati per ciascuna delle caselle Outline (vedere journal data.jrn).
Sono consapevole che mi manca parecchio per raggiungere la tabella dati che desidero, ma ho incontrato il primo ostacolo e cioè che stampa solo per 1 riquadro di contorno e non per tutti. Guarda il mio script qui sotto:
// JMP version 16<BR />sd = currentdatatable();<BR />rpt = Current Journal();
// Get the number of outline boxes
numOutlineBoxes = nitems(rpt);
int = rep = sumfit = sumfitLL = sumfitUL = {};
sum = 0;
// Loop through each outline box
for (i = 1, i <= numOutlineBoxes, i++,
outlineBox = rpt[i];
sumfit = outlineBox[Outline Box( numOutlineBoxes )][Number Col Box( 1 )] << Get as Matrix;
sumfitLL = outlineBox[Outline Box( numOutlineBoxes )][Number Col Box( 3 )] << Get as Matrix;
sumfitUL = outlineBox[Outline Box( numOutlineBoxes )][Number Col Box( 4 )] << Get as Matrix;
sumfit_rep = Round( sumfit[2] , 3 );
sumfit_int = Round( sumfit[3] , 3 );
lowerCL_rep = Round( sumfitLL[2] , 3 );
upperCL_rep = Round( sumfitUL[2] , 3 );
lowerCL_int = Round( sumfitLL[3] , 3 );
upperCL_int = Round( sumfitUL[3] , 3 );
Insert Into( rep, Char( sumfit_rep ) || " [" || Char( lowerCL_rep ) || " ; " || Char( upperCL_rep ) || "]" );
Insert Into( int, Char ( sumfit_int ) || " [" || Char( lowerCL_int ) || " ; " || Char( upperCL_int ) || "]" );
// Get By Group column
//whereCol = Word( 2, ((rep << parent)[Text Box( 1 )]) << get text, ":=)" );
term = outlineBox[Outline Box( numOutlineBoxes )][String Col Box( 1 )] << Get();
sum = sum + 1
);
// Create the table
dlg = New Window( "Custom Report",
Outline Box( "Selected Values",
Lineup Box( N Col( 2 ), Text Box( "Factor of Interest: " ), Text Box( term[1] ) ),
Spacer Box( size( 0, 10 ) ),
tb = Table Box(
String Col Box( "Paramenter", testvalue ),
//String Col Box( whereCol, repeat(ByGroups, sum) ),
String Col Box( "Repeatability, " || term[1], rep ),
String Col Box( "Intermediate precision, " || term[2], int ),
)
)
);
tb << Set Shade Headings( 0 ); // Turn off shaded table headings.
tb << Set Column Borders( 1 ); // Turn off table column borders.
tb << Set row Borders( 1 );
tb << border( 1 );La stampa appare come segue:

Nella fase finale, vorrei che la pinta si presentasse come segue:

Riassumendo, ci sono i seguenti passaggi che devono essere corretti:
1. Fai funzionare il ciclo in modo che tutte le caselle di contorno vengano prese in considerazione
2. Ottieni che includa parametri e batch
3. Ottenere una stampa divisa ripetibilità e intermedia con il laboratorio AA/BB
Spero che tu possa aiutarmi.
Distinti saluti,
Giulia
Automazione e scriptingAnalisi e modellazione dei dati di baseAccesso ai datiRe: Estrazione dei dati dalle caselle di riepilogo tramite un ciclo nel diarioC'è qualche motivo specifico per usare Journal invece di accedere al report prima che venga trasformato in un journal? Hai anche provato a creare il report dalle tabelle che puoi ottenere usando Make Combined Data Table?


Re: Estrazione dei dati dalle caselle di riepilogo tramite un ciclo nel diarioE poi se hai abbastanza pazienza (io non ce l'ho con Tabulate...) potresti riuscire a creare un report abbastanza buono usando Tabulate



Questo richiede JMP17 o JMP18 (packing)

Re: Estrazione dei dati dalle caselle di riepilogo tramite un ciclo nel diarioDato che il tuo Journal è referenziato come
rpt = Current Journal();
e stai usando
// Get the number of outline boxes
numOutlineBoxes = nitems(rpt);
per ottenere il numero di OutlineBox, restituirà sempre 1. Dovresti usare Xpath() per restituire un elenco di tutti gli OutlineBox.
numOutlineBoxes = nitems(rpt << xpath( "//OutlineBox" )) ;
tuttavia troverà 60 caselle di contorno. Quindi, per restringere il campo, puoi ottenere un elenco delle intestazioni primarie con
majorrptList= rpt << xpath( "//OutlineBox[contains(text(),'Variability Gauge')]" )
Ciò ti fornirà indicazioni per ciascuno dei tuoi output Per gruppi
Re: Estrazione dei dati dalle caselle di riepilogo tramite un ciclo nel diarioCiao Jthi,
Grazie per la risposta. Il motivo per cui viene utilizzato journal invece di report è perché non posso salvare il report dove contiene ancora la casella di riepilogo della deviazione standard. Pertanto, ho dovuto salvarlo in un journal.
Cercherò di valutare questa possibilità di trasformarlo in una tabella combinata.
Distinti saluti,
Giulia
Re: Estrazione dei dati dalle caselle di riepilogo tramite un ciclo nel diarioCiao Jim,
Grazie per la risposta. Ho provato questo, dove ho aggiunto modificato da numOutlineBoxes a:
majorrptList = rpt << xpath( "//OutlineBox[contains(text(),'Standard Deviations')]" );
The script saves information to sumfit_rep and sumfit_int, but it does not save to lowerCL_rep , upperCL_rep , lowerCL_int or upperCL_int during the part below:
sumfit = outlineBox[Outline Box( majorrptList )][Number Col Box( 1 )] << Get as Matrix;
sumfitLL = outlineBox[Outline Box( majorrptList )][Number Col Box( 3 )] << Get as Matrix;
sumfitUL = outlineBox[Outline Box( majorrptList )][Number Col Box( 4 )] << Get as Matrix;
sumfit_rep = Round( sumfit[2] , 3 );
sumfit_int = Round( sumfit[3] , 3 );
lowerCL_rep = Round( sumfitLL[2] , 3 );
upperCL_rep = Round( sumfitUL[2] , 3 );
lowerCL_int = Round( sumfitLL[3] , 3 );
upperCL_int = Round( sumfitUL[3] , 3 );
Insert Into( rep, Char( sumfit_rep ) || " [" || Char( lowerCL_rep ) || " ; " || Char( upperCL_rep ) || "]" );
Insert Into( int, Char ( sumfit_int ) || " [" || Char( lowerCL_int ) || " ; " || Char( upperCL_int ) || "]" );
Poiché non sono sicuro di come procedere da qui per ottenere la tabella che desidero con le informazioni su campione/batch e parametro, ho provato a creare una tabella combinata e poi a estrarla da lì, ma fa qualcosa di folle e sono molto confuso. Ho allegato la tabella combinata (tabella dati combinata per script di test int rep) e lo script (script di test int rep con tabella combinata). Spero che tu dia un'occhiata e veda se riesci a trovare il motivo del caos:)