Error de JSL sin suficientes argumentos en el acceso o evaluación de 'For'Hola,
Soy principiante en secuencias de comandos JSL. Necesito ayuda con el siguiente error.
"no hay suficientes argumentos en el acceso o evaluación de 'Para'"
En mi código a continuación, estoy tratando de eliminar columnas que contienen ciertas cadenas en su nombre de columna. No estoy seguro de dónde estoy cometiendo el error.
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 );
Por favor hagamelo saber. Gracias.
Re: Error JSL sin suficientes argumentos en el acceso o evaluación de 'For'Pude solucionar el problema y el siguiente código me funcionó para eliminar columnas según el nombre de la columna.
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: Error JSL sin suficientes argumentos en el acceso o evaluación de 'For'Hola Jeff,
Gracias. Eso eliminó el error. Sin embargo, debo haber cometido un error lógico. El código que tenía borró todas las columnas de la tabla de datos.
¿Quizás estoy cometiendo un error al eliminar columnas?
En lugar de "Eliminar de (col_list, i)", ¿puedo escribir lo siguiente?
dt<< eliminar columnas(col_list[i]); ?
No estoy seguro de la sintaxis. Pero mi objetivo es eliminar todas las columnas que tienen "MTR" o "ProcessCon", etc. en su nombre de columna.
Por favor hagamelo saber.
Re: Error JSL sin suficientes argumentos en el acceso o evaluación de 'For'Tiene un punto y coma (;) después del primer argumento en lugar de una coma (,).
También tienes un paréntesis de cierre adicional.
Debería ser:
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 );