Ri: Come posso applicare uno script a più tabelle di dati alla volta? (JMP 17)Usare For Each è l'idea corretta. Ottieni il riferimento alla tua tabella di dati di riferimento quando la apri e ottieni un elenco di riferimenti ad altri datatables da Multiple File Import (se ricordo bene ...). È quindi possibile eseguire il ciclo su quell'elenco utilizzando For Each
Ri: Come posso applicare uno script a più tabelle di dati alla volta? (JMP 17)Ciao @Kast ,
Un seguito a cosa @jthi menzionato. Uno script per fare questo potrebbe assomigliare a questo.La sintassi dell'espressione corretta è ancora un po' confusa per me, ma dovrebbe essere la maggior parte di ciò di cui hai bisogno.
Names default to here(1);
dt_list = Multiple file import(); // Incomplete placeholder
table_script = expr( New script( "Table script name here", // Add new tables scripts with New script()
Graph Builder( // Incomplete table script graphic script
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :Column 1 ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Example title" )}
)
)
)
);
Eval( // For each loop adds table_script to each data table named in dt_list
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
);
Eval( // for loop alternative
eval expr(
for( i = 1, i <= N Items( dt_list ), i++,
expr( dt_list[i] << table_script )
)
)
);Come posso applicare uno script a più tabelle di dati contemporaneamente? (JMP 17)Sto cercando un modo per eseguire uno script su più tabelle di dati eseguendo lo script una volta invece di eseguire lo script una volta per tabella di dati.
Flusso di dati corrente
- Apri la tabella dati JMP di riferimento.
- Utilizzare un primo script (basato sull'importazione di più file) per importare più file Excel in più tabelle di dati JMP (1 tabella per file).
- Risultato: 1 tabella dati di riferimento aperta e 2-10+ nuove tabelle dati JMP dallo script di importazione.
- Esegui un 2a sceneggiatura su ogni DataTable JMP creato per ripulire i dati e aggiornare le tabelle dati create con i dati della tabella dati JMP di riferimento.
- Risultato: 1 tabella dati di riferimento e 2-10+ tabelle dati JMP che sono state ripulite (cancellare colonne, aggiungere colonne calcolate, ecc.) e che sono state aggiornate (aggiorna tabella dati con script) con i dati della tabella dati di riferimento.
Mi piacerebbe trovare una soluzione in cui non devo applicare manualmente il mio 2a sceneggiatura individualmente a ciascuna tabella dati JMP creata.
Sono aperto a qualsiasi approccio.
Ho pensato di provare a utilizzare gli elenchi JMP e/o la funzione "For Each", ma non sono riuscito a trovare esempi di applicazione di questi alle tabelle di dati. Penso che avrei bisogno di creare un elenco di tutte le tabelle di dati aperte filtrate in base al loro nome (così posso filtrare la tabella di dati di riferimento che utilizzo per aggiornare le tabelle di dati di interesse), inoltre non so come farlo.
Grazie per tutti i consigli e le idee.
Automazione e scriptingRi: Come posso applicare uno script a più tabelle di dati alla volta? (JMP 17)Grazie ad entrambi. Apprezzo davvero l'aiuto.
; //with all Multiple File Import details included
</CODE></PRE><P>sicuramente funziona per fare la lista.</P><P> </P><P>Non sono riuscito a farlo funzionare da solo, ma sto ancora imparando come usare Eval, EvalExpr, Expr, ecc.</P><PRE><CODE class=" language-jsl">Eval( // For each loop adds table_script to each data table named in dt_list
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
);dt_list = Multiple File Import()
Sono stato in grado di ottenere un semplice test per lavorare con For Each in questo formato. Semplice script di colonna aggiunto.
For Each({listitem}, dt_list, listitem << New Column( "Mean",
Numeric,
"Continuous",
Formula( Mean( :A, :B, :C, :D</img> ) ),
Format( "Best", 12 )));Il mio codice di esempio funzionante completo è
Names default to here(1);
dt_list = Multiple File Import(
<<SET folder=""> ) ),
Format( "Best", 12 )));
</SET>