Errore JSL argomenti insufficienti nell'accesso o nella valutazione di "For"CIAO,
Sono un principiante nello scripting JSL. Ho bisogno di aiuto con il seguente errore.
"argomenti insufficienti per l'accesso o la valutazione di 'Per' "
Nel mio codice qui sotto, sto cercando di eliminare le colonne che contengono determinate stringhe nel loro nome di colonna. Non sono sicuro di dove sto commettendo l'errore.
dt = Current Data Table();
col_list = dt << get column names(string);
for(i = 1; i>= N Items (col_list), i++,
If(
Contains(col_list[i], "MTR") | Contains(col_list[i], "AUTO") | Contains(col_list[i], "ProcessCon") | Contains(col_list[i], "Macro") | Contains(col_list[i], "OTH_SP") ),
Remove from(col_list, i)
)
);
dt << delete columns( col_list );
Per favore mi faccia sapere. Grazie.
Re: errore JSL argomenti insufficienti nell'accesso o nella valutazione di 'For'Sono stato in grado di aggirare il problema e il codice sottostante ha funzionato per me per eliminare le colonne in base al nome della colonna.
Clear Log();
dt = Current Data Table();
col_list = dt << get column names;
For( c = N Cols( dt ), c >= 1, c--,
If(
Contains( col_list[c], "MTR" ) | Contains( col_list[c], "AUTO" ) | Contains( col_list[c], "ProcessCon" )
| Contains( col_list[c], "Macro" ),
dt << deleteColumn( c )
);
);
Re: errore JSL argomenti insufficienti nell'accesso o nella valutazione di 'For'Ciao Jeff,
Grazie. Questo ha eliminato l'errore. Tuttavia, devo aver commesso un errore logico. Il codice che avevo cancellava tutte le colonne nella tabella dei dati.
Forse sto commettendo un errore con l'eliminazione delle colonne?
Invece di "Rimuovi da (col_list, i)", posso scrivere quanto segue?
dt<< cancella colonne(col_list[i]); ?
Non sono sicuro della sintassi. Ma il mio obiettivo è eliminare tutte le colonne che contengono "MTR" o "ProcessCon" ecc.
Per favore mi faccia sapere.
Re: errore JSL argomenti insufficienti nell'accesso o nella valutazione di 'For'Hai un punto e virgola (;) dopo il primo argomento invece di una virgola (,).
Hai anche una parentesi molto stretta.
Dovrebbe essere:
dt = Current Data Table();
col_list = dt << get column names( string );
For( i = 1, i >= N Items( col_list ), i++,
//________^
//comma here, no semi-colon
If(
Contains( col_list[i], "MTR" ) | Contains( col_list[i], "AUTO" ) |
Contains( col_list[i], "ProcessCon" ) | Contains( col_list[i], "Macro" ) |
Contains( col_list[i], "OTH_SP" )
),
Remove From( col_list, i )
//)
//don't need close parentheses above
);
dt << delete columns( col_list );