Erreur JSL pas assez d'arguments dans l'accès ou l'évaluation de 'For'Salut,
Je suis débutant en script JSL. J'ai besoin d'aide avec l'erreur suivante.
"pas assez d'arguments dans l'accès ou l'évaluation de 'For'"
Dans mon code ci-dessous, j'essaie de supprimer des colonnes contenant certaines chaînes dans leur nom de colonne. Je ne sais pas où je fais l'erreur.
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 );
S'il vous plaît, faites-moi savoir. Merci.
Re : Erreur JSL pas assez d'arguments dans l'accès ou l'évaluation de 'For'J'ai pu contourner le problème et le code ci-dessous a fonctionné pour moi pour supprimer les colonnes en fonction du nom de la colonne.
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 : Erreur JSL pas assez d'arguments dans l'accès ou l'évaluation de 'For'Salut Jef,
Merci. Cela a éliminé l'erreur. Cependant, j'ai dû faire une erreur de logique. Le code que j'avais, a effacé toutes les colonnes de la table de données.
Peut-être que je fais une erreur avec les colonnes de suppression ?
Au lieu de "Supprimer de (col_list, i)", suis-je autorisé à écrire ce qui suit ?
dt<< supprimer les colonnes (col_list[i]); ?
Je ne suis pas sûr de la syntaxe. Mais mon objectif est de supprimer toutes les colonnes contenant "MTR" ou "ProcessCon", etc. dans leur nom de colonne.
S'il vous plaît, faites-moi savoir.
Re : Erreur JSL pas assez d'arguments dans l'accès ou l'évaluation de 'For'Vous avez un point-virgule (;) après le premier argument au lieu d'une virgule (,).
Vous avez également des parenthèses fermées supplémentaires.
Ça devrait être:
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 );