Come aggiungere una nuova colonna a tutte le tabelle di datiHo una serie di esperimenti che producono un file di testo di risultati, intitolato con il nome del campione.
Ho uno script che prende il titolo della tabella dati e popola una nuova colonna "nome campione" con il titolo.
dt = current data table();
name = dt << get name;
new column("Sample Name");
column(dt,"Sample Name")[1]=name;<BR />
nr = N Rows( dt );
For( ii = 2, ii <= nr, ii++,
If( is missing(Column( dt, "Sample Name" )[ii]),
Column(dt, "Sample Name" )[ii] = Column( dt, "Sample Name" )[ii - 1]
);
);Gli esperimenti vengono eseguiti a decine, anche centinaia alla volta. C'è un adattamento al mio script che posso inserire per farlo funzionare su tutte le tabelle di dati aperti in modo da poter concatenare tutti i risultati e continuare ad automatizzare l'analisi?
SceneggiaturaRe: Come aggiungere una nuova colonna a tutte le tabelle di datiGrazie per la risposta.
Ricevo un errore durante l'esecuzione di questo script

Re: Come aggiungere una nuova colonna a tutte le tabelle di datiÈ molto probabile che tu stia utilizzando una versione precedente di JMP (For Each è stato introdotto in JMP16). La semplice soluzione è sostituirlo con il ciclo For (corretto anche un errore di battitura sul codice):
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp"); // open for demo purposes
Open("$SAMPLE_DATA/Big Class Families.jmp"); // open extra table for demo purposes
new_col_name = "Sample Name";
dt_list = Get Data Table List();
For(i = 1, i <= N Items(dt_list), i++,
dt_cur = dt_list[i];
name = dt_cur << get name;
If(!Contains(dt_cur << Get Column Names("String"), new_col_name),
dt_cur << New Column(new_col_name, Character, Nominal, << Set Each Value(name));
);
);
Re: Come aggiungere una nuova colonna a tutte le tabelle di datiVuoi aggiungere una nuova colonna a ciascuna delle tabelle denominata "Nome campione" e conterrà solo il nome di quella specifica tabella di dati?
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp"); // open for demo purposes
Open("$SAMPLE_DATA/Big Class Families.jmp"); // open extra table for demo purposes
new_col_name = "Sample Name";
For Each({dt_cur}, Get Data Table List(),
name = dt_cur << get name;
If(!Contains(dt_cur << Get Column Names("String"), new_col_name),
dt_cur << New Column(new_col_name, Character, Nominal, << Set Each Value(name));
);
);

Re: Come aggiungere una nuova colonna a tutte le tabelle di datiSe hai bisogno di ogni nome di tabella solo per la concatenazione, perché non lasciare che la concatenazione faccia il lavoro, ha un'opzione per questo scopo? Vedere l'indice di script o la guida.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Trial1.jmp" );
dt2 = Open( "$SAMPLE_DATA/Trial2.jmp" );
dt << Concatenate(
Output Table( "Result Table with Source" ),
Data Table( "Trial2" ),
Create Source Column
);