Applicare lo script a più tabelle di datiHo uno script in cui apro un file txt in JMP come tabella dati e quindi sposto i nomi delle colonne elencate nella riga 7 nelle intestazioni delle colonne. Come posso applicarlo a più tabelle dati? Il mio script attuale non funziona. Ho JMP16. Grazie.
dt_list = Multiple File Import(); //additional known text here to open files
table_script = expr(
//Move the column names listed in row 7 to the column headers
dt = Current Data Table();
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header] )
);
);
Eval(
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
); Automazione e scriptingRi: Applicare lo script a più tabelle di datiEcco come lo configurerei
Names Default To Here( 1 );
dt_list = Multiple File Import();
table_script = Function( {dt},
{defaultlocal},
//Move the column names listed in row 7 to the column headers
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
Column( i ) << set Name( Column( i )[header] )
);
);
For Each( {value}, dt_list, table_script( value ) );Ri: Applicare lo script a più tabelle di datiGrazie per la tua risposta! Ho provato il tuo script, ma esegue solo la funzione table_script sull'ultima tabella dati aperta. Hai idea di quale potrebbe essere il problema? Grazie.
Ri: Applicare lo script a più tabelle di datiHo replicato la scoperta che hai indicato e non sono stato in grado di correggere il problema utilizzando l'approccio che stavo adottando.Quindi sono tornato al codice originale, ho semplificato l'approccio e sono riuscito a eseguire un esempio completo.
Names Default To Here( 1 );
rc = Create Directory( "$TEMP/sub1" );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Close( dt, save( "$TEMP/sub1/MFI big class.jmp" ) );
dt = Open( "$SAMPLE_DATA/body fat.jmp" );
Close( dt, save( "$TEMP/sub1/MFI body fat.jmp" ) );
dt = Open( "$SAMPLE_DATA/candy bars.jmp" );
Close( dt, save( "$TEMP/sub1/MFI candy bars.jmp" ) );
Show( Files In Directory( "$TEMP/sub1" ) );
dt_list = Multiple File Import(
<<SET folder=""></SET>
Ri: Applicare lo script a più tabelle di datiGrazie mille! Il tuo nuovo script ha funzionato per apportare modifiche a tutte le tabelle di dati aperte. Tuttavia, ho scoperto che il mio script non funzionava come previsto e allegava un "7" a tutte le intestazioni di colonna invece di spostare la riga 7 come intestazioni di colonna. In precedenza funzionava su una singola tabella di dati, ma in questo caso avevo bisogno di modificare il codice per leggere effettivamente il valore della tabella nella posizione specificata. Ecco il mio codice di lavoro:
Names Default To Here( 1 );
dt_list = Multiple File Import();
table_script = Expr(
//Move the column names listed in row 7 to the column headers
dt = Current Data Table();
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
tableVal = Column( Current Data Table(), i)[ header ];
Column( i ) << set Name( tableVal )
);
);
For Each( {table}, dt_list,
Current Data Table( table );
table_script;
);