JSL エラー「For」へのアクセスまたは評価で十分な引数がありませんやあ、
私は JSL スクリプトの初心者です。 次のエラーについてサポートが必要です。
「'For' のアクセスまたは評価に十分な引数がありません」
以下のコードでは、列名に特定の文字列を含む列を削除しようとしています。 どこで間違いを犯しているのかわかりません。
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 );
私にお知らせください。 ありがとう。
Re: 'For' のアクセスまたは評価で引数が足りない JSL エラーこの問題を回避することができ、以下のコードが機能して列名に基づいて列を削除できました。
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: 'For' のアクセスまたは評価で引数が足りない JSL エラーこんにちは、ジェフさん
ありがとう。 これでエラーは解消されました。 しかし、私は論理的な間違いを犯したに違いありません。 私が持っていたコードは、データテーブルのすべての列を消去しました。
もしかして、列の削除を間違えているのでしょうか?
「(col_list, i)から削除」の代わりに、次のように書いても良いでしょうか?
dt<< 列を削除(col_list[i]); ?
構文がわかりません。 ただし、私の目的は、列名に「MTR」または「ProcessCon」などを含むすべての列を削除することです。
私にお知らせください。
Re: 'For' のアクセスまたは評価で引数が足りない JSL エラー最初の引数の後にカンマ (,) の代わりにセミコロン (;) があります。
余分な閉じ括弧もあります。
そのはず:
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 );