Sono nuovo di JSL appena iniziato 2 settimane fa.
Sto cercando di creare analisi per molti test, pochi test vengono impilati insieme alla volta in una nuova tabella di dati ogni volta; quando la sceneggiatura è finita, mi ritrovo con molti aperti tabelle di dati. Non riesco a chiudere queste tabelle di dati al termine dell'analisi. c'è un modo per chiudere questi file aperti senza chiudere il file di dati originale o il grafico vero e proprio?
Perché ora mi ritrovo con oltre 30 file di dati, denominati test, test1,...
ecco uno snap del mio codice:
dt = Current Data Table();
NW = New Window( "TRIM_CHARTS",
dt << Stack(
columns(
:TRIM_TARGET,
:Emulate_0000__,
:Emulate_0001__,
:Emulate_0010___,
:Emulate_0011__,
:Emulate_0100__,
:Emulate_0101__,
:Emulate_0110__,
:Emulate_0111__,
:Emulate_1000__,
:Emulate_1001__,
:Emulate_1010__,
:Emulate_1011__,
:Emulate_1100___,
:Emulate_1101__,
:Emulate_1110___,
:Emulate_1111__,
: _BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);
Oneway(
Y( :Data ),
X( :Label ),
Name( "Means/Anova" )(1),
Means and Std Dev( 1 ),
Mean Diamonds( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Connect Means( 1 ),
X Axis Proportional( 0 ),
Points Spread( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Row Legend(
Temp,
Color( 1 ),
Color Theme( "Blue to Green to Red" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
dt << Stack(
columns(
:Ilim__TRIM_TARGET,
:Emulate_0000_Ilim_,
:Emulate_0001_Ilim_,
:Emulate_0010_Ilim_,
:_iLIM_BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);
Oneway(
Y( :Data ),
X( :Label ),
Name( "Means/Anova" )(1),
Means and Std Dev( 1 ),
Mean Diamonds( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Connect Means( 1 ),
X Axis Proportional( 0 ),
Points Spread( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Row Legend(
Temp,
Color( 1 ),
Color Theme( "Blue to Green to Red" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
);
nw << Set page setup(
margins( 0.5, 0.5, 0.5, 0.5 ),
scale( 0.8 ),
portrait( 0 ),
paper size( "A3" )
);
jrn = NW << Journal;
NW << save PDF( "C:\My Documents\Trim_CHARTS.pdf" );
Grazie
Sam
Il codice di Uday funzionerà alla grande, il codice seguente semplifica semplicemente lo stesso codice
Names Default To Here( 1 );
DontClose = {"Test1", "Result"}; // Example names of tables you want to leave
// Loop backwards through the list, so the table numbers do not change
For( i = N Table(), i >= 0, i--,
If( Contains( DontClose, Data Table( i ) << get name ),
Continue(),
Close( Data Table( i ), "No Save" )
)
);Questo potrebbe non essere il modo più efficiente per ottenere ciò che desideri, ma funzionerà.
openDTs = List(); // Define an empty list to collect names of all open data tables
TableNames = List();
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) );
Insert Into(TableNames,Data Table(i) << get name);
);
// By now openDTs contains references of all tables that you have open
DontClose = {"Test1","Result"}; // Example names of tables you want to leave open
For( i = 1, i <= N Items(openDTs) , i++,
TabName = openDTs[i] << Get Name ;
If(Contains(DontClose,TabName),
Continue();
,
Close(openDTs[i],"No Save");
);
);È noioso nasconderli, ma c'è un modo per chiudere tutte le tabelle senza specificarne i nomi e senza chiudere l'output finale (ad esempio chiudere tutto tranne il tipo di pensiero).
Grazie
Grazie Jim. ha funzionato.
Apprezzato.
Quando crei le tue tabelle di dati in pila, rendile semplicemente invisibili. Appariranno nella finestra Home di JMP, ma non avranno una finestra visibile creata.
dt << Stack(invisible,
columns(
:Ilim__TRIM_TARGET,
:Emulate_0000_Ilim_,
:Emulate_0001_Ilim_,
:Emulate_0010_Ilim_,
:_iLIM_BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);questo è ciò che finisco quando il rapporto finale/jrn è completato!
