Ciao a tutti,
Sono un principiante degli script JMP e ho una domanda a cui scommetto che è piuttosto banale rispondere per la maggior parte delle persone in questo forum. Ecco lo script che sto eseguendo:
-------------------------------------------------- --------------------
// Open the raw base data table
raw_data_tbl=open("..\Tables\WA_VS_EXPORT_BASE_VIEW_MKT_1_SAMPLED.jmp");
// Make raw data table the current data table
Current Data Table(raw_data_tbl);
Current Data Table() << Select Where(:Total_interactions >= 1 & :Total_interactions <=40);
raw_data_tbl_sub = Current Data Table() << Subset(columns(
:B_ts,
:B_month,
:B_year,
:C_cd,
:Total_interactions,
:Product,
:T_id,
:Num_interactions,
));
Current Data Table() << Clear Select;
Current Data Table(raw_data_tbl_sub);
// Join the subset table with summary table
chnnl_in_summary = Current Data Table() <<
Join(
With(
Current Data Table() << Summary( Group( :T_id, :C_cd ), N( :Trip_id ) )
),
Select( :B_ts, :B_month, :B_year ),
SelectWith( :T_id, :C_cd ),
Select(
:Total_interactions,
:Product,
:Num_interactions
),
SelectWith( :N Rows ),
By Matching Columns( :T_id = :T_id, :Channel_cd = :Channel_cd ),
Drop multiples( 0, 0 ),
Name( "Include non-matches" )(0, 0)
);
Current Data Table(chnnl_in_summary);
chnnl_in_summary_transp = Current Data Table() << Transpose(
columns( :N Rows ),
By(
:T_id,
:B_ts,
:B_month,
:B_year,
:Total_interactions,
:Product
),
Label( :C_cd )
);
close(raw_data_tbl);
close(raw_data_tbl_sub);
close(chnnl_in_summary);
chnnl_in_summary_transp << save("..\Tables\WA_PATTR.jmp");
close(chnnl_in_summary_transp);
-------------------------------------------------- -------------------------------------------
Lo script funziona bene in termini di elaborazione dei dati nel modo desiderato, ma ottengo un sacco di finestre di tabella (in realtà tre) aperte per le tabelle intermedie che creo nel processo, il che è fastidioso. Inoltre viene visualizzata una finestra di dialogo che mi chiede se voglio salvare una delle tabelle con il nome che inizia con "Senza titolo". Questa è la parte inferiore della finestra del registro dello script:
Il sottoinsieme della tabella dati di WA_VS_EXPORT_BASE_VIEW_MKT_1_SAMPLED ha altre finestre aperte. Puoi chiudere tutte le finestre per questa tabella dati o semplicemente nasconderla.
Salvare le modifiche alla tabella dati JMP Senza titolo 42?
La mia domanda è: come posso controllare correttamente queste finestre dallo script in modo da non interrompere l'esecuzione dello script (ovvero non chiudere l'intera tabella quando è necessario) e assicurarmi che tutto, comprese le finestre della tabella viene chiuso quando termina lo script? A quanto pare, il messaggio di chiusura inviato da un tavolo non è sufficiente. Apprezzo davvero la risposta.
Milorad
Come affermato sopra,
L'utilizzo del comando close è corretto. Per eliminare la finestra di dialogo, è possibile specificare di non salvare all'interno della funzione close. Quindi, per la tabella originale, si userebbe:
close(raw_data_tbl,nosave);
E:
In JSL esiste la parola chiave INVISIBLE. Può essere utilizzata in vari contesti. Il modo migliore per familiarizzare è aprire la Guida allo scripting JMP (Help.Books) e cercare "invisible".
Ad esempio, in relazione al tuo codice, puoi fare quanto segue:
Current Data Table() << Select Where( ... );
subsetTable = Current Data Table << Subset( invisible );