Come fare riferimento a una tabella di dati già aperta (da più tabelle di dati aperte) JSLSto lavorando alla scrittura di script che creano diversi report e tabelle di dati. Tuttavia, devo sempre finire per eseguirli chunk per chunk e cliccare manualmente sul menu a discesa per selezionare la tabella di dati su cui voglio eseguire il dato chunk di script.
Conosco l'attuale funzione data table(), ma non conosco nient'altro che non richieda un percorso file.
Qualcuno conosce un modo semplice per fare riferimento o selezionare una tabella di dati diversa già aperta, magari per nome o qualcosa del genere?
Grazie!
Automazione e scriptingRe: Come fare riferimento a una tabella di dati già aperta (da più tabelle di dati aperte) JSLÈ possibile fare riferimento a qualsiasi tabella dati utilizzando la funzione Data Table(). Ad esempio:
Data Table("Big Class") << Bivariate( X(:height), Y(:weight) );
È anche possibile impostare una variabile uguale a una tabella dati quando viene creata e, se la variabile non viene modificata nello script, farà sempre riferimento alla tabella a cui è collegata.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << select where( :sex == "F" );
dtFemale = dt << subset( selected columns( 0 ), selected rows( 1 ) );
rpt = New Window( "Subset of big class - Distribution of height, weight",
dtFemale << Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Continuous Distribution( Column( :weight ), Process Capability( 0 ) )
)
);
Wait( 0 );
dtStats = rpt["Distributions", "height", "Summary Statistics", Table Box( 1 )] <<
Make Combined Data Table;
rpt << Close Window;
dtStats << Tabulate(
Change Item Label( Statistics( Sum, "Stats" ) ),
Remove Column Label( Analysis Columns( Column 2 ) ),
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Column 2 ) ),
Row Table( Grouping Columns( :Y, :Column 1 ) )
)
);
Si possono usare altri metodi. Se fornisci un campione del codice che stai usando, potrebbe essere disponibile ulteriore aiuto.
Re: Come fare riferimento a una tabella di dati già aperta (da più tabelle di dati aperte) JSLSe desideri comunque scegliere in modo interattivo su quale tabella eseguire uno script, ma desideri che sia un po' più robusto, puoi fare qualcosa del genere:
names default to here(1);
// Open a couple of tables for demo purposes
dt1 = open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
wait(0);
table_names = {};
For( i = 1, i <= N Table(), i++,
Insert Into( table_names, Data Table( i ) << get name );
);
If( N Items( table_names ) > 0,
tabSelect = New Window( "Select Table For Use",
<<MODAL></MODAL>Re: Come fare riferimento a una tabella di dati già aperta (da più tabelle di dati aperte) JSLGrazie.