Controlla il nome della colonna se esistenteCIAO,
Ho un elenco di nomi di colonne che devo controllare dalla mia tabella se esiste.
Come posso controllare tutte le colonne della tabella e segnalare un errore e interrompere l'esecuzione del programma se non esiste?
col_list = {"Col1", "Col2", "Col3", "Col4", "Col5" };
//checks column if exist<BR /><BR /> //..code continue running<BR />
//if column doesn't exist<BR />
//..code will stop script & error prompt
Personalizzazione di massaRi: Controllare il nome della colonna se esistenteEcco una modifica dello script che ho pubblicato in precedenza.
Ti consiglio vivamente di leggere la Guida allo scripting che si trova nella Libreria della documentazione di JMP, nel menu a discesa Guida, in modo da poter prendere questo codice di esempio e utilizzarlo per risolvere le tue esigenze di scripting.
animals = Open( "$SAMPLE_DATA\Animals.jmp" );
dt_animals = Data Table( "Animals" );
col_list = {"species", "subject", "miles", "season", "name"};
notFound = {};
For( i = 1, i <= N Items( col_list ), i++,
If( Try( Column( col_list[i] ) << get name, "" ) == "",
Insert Into( notFound, col_list[i] )
)
);
If( N Items( notFound ),
nf = New Window( "Error:",
V List Box(
Text Box( "The following columns are required" ),
Text Box( "but were not found in the data table" ),
List Box( notFound )
)
);
throw();
);Ri: Controllare il nome della colonna se esistenteIl prompt in cui indicherà quale colonna mancaRi: Controllare il nome della colonna se esistenteCos'è che non funziona?Ho eseguito il tuo codice e quando ha raggiunto la colonna chiamata "nome" il codice si è interrotto.
Il valore della variabile "i" è diventato 5, poiché ha interrotto l'elaborazione al 5° ciclo.Se avesse completato l'elaborazione, la variabile "i" sarebbe stata 6.
Se ci fosse del codice oltre questo pezzo di codice, non sarebbe stato elaborato.
Ri: Controllare il nome della colonna se esistenteanimals = Open( "C:\Animals.jmp" );
dt_animals = Data Table( "Animals" );
col_list = {"species", "subject", "miles", "season", "name"};
For( i = 1, i <= N Items( col_list ), i++,
If( Try( Column( col_list[i] ) << get name, "" ) == "",
Throw()
)
);
Sono sicuro che mi sono perso qualcosa, non funziona per me
Ri: Controllare il nome della colonna se esistenteIl metodo che utilizzo è
col_list = {"col1", "col2", "col3"};
for(i=1,i<=N Items(col_list),i++,
if(try(column(col_list[i])<<GET name=""></GET>