JSL-Fehler: Nicht genügend Argumente beim Zugriff oder bei der Auswertung von „For“Hallo,
Ich bin Anfänger im JSL-Scripting. Ich benötige Hilfe bei folgendem Fehler.
„Nicht genügend Argumente beim Zugriff oder bei der Auswertung von ‚Für‘“
In meinem Code unten versuche ich, Spalten zu löschen, deren Spaltennamen bestimmte Zeichenfolgen enthalten. Ich bin mir nicht sicher, wo ich den Fehler mache.
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 );
Lass es mich wissen, bitte. Danke schön.
Betreff: JSL-Fehler nicht genügend Argumente beim Zugriff oder bei der Auswertung von „For“Ich konnte das Problem umgehen und der folgende Code hat mir geholfen, Spalten basierend auf dem Spaltennamen zu löschen.
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 )
);
);
Betreff: JSL-Fehler nicht genügend Argumente beim Zugriff oder bei der Auswertung von „For“Hallo Jeff,
Danke schön. Damit war der Fehler behoben. Allerdings muss mir ein logischer Fehler unterlaufen sein. Der Code, den ich hatte, löschte alle Spalten in der Datentabelle.
Vielleicht mache ich einen Fehler beim Löschen von Spalten?
Darf ich anstelle von „Aus (col_list, i) entfernen“ Folgendes schreiben?
dt<< delete columns(col_list[i]); ?
Ich bin mir der Syntax nicht sicher. Mein Ziel ist es jedoch, alle Spalten zu löschen, deren Spaltennamen „MTR“ oder „ProcessCon“ usw. enthalten.
Lass es mich wissen, bitte.
Betreff: JSL-Fehler nicht genügend Argumente beim Zugriff oder bei der Auswertung von „For“Sie haben nach dem ersten Argument ein Semikolon (;) anstelle eines Kommas (,).
Sie haben auch eine extra enge Klammer.
Es sollte sein:
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 );