それぞれを制限する()私は For Each() 関数についてはあまり詳しくないので、ご容赦ください。以下のスクリプトは必要なことを実行しますが、対象となる列を制限したいのです。3 列目以降のみに作用させたいのですが? For() 関数を使えば簡単ですが、ここではどのように動作するのかよくわかりません。
For Each({colnames, index}, dt << Get Column Names("String"),
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[]<100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);自動化とスクリプトRe: For Each() の制限リストから値を削除してから、確認を始めてください
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
Remove From(collist, 1, 3);
show(collist);
For Each({colnames, index}, collist,
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[] < 100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);Re: For Each() の制限リストを定義するときに for each 内で実行することもできますが、私の意見では、前に実行する方が良いと思います (読みやすくデバッグしやすい)。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname, index}, Remove(dt << Get Column Names("String"), 1, 3),
show(colname);
);
または、事前にリストを収集している場合は、特定の項目をループするだけで済みます
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
For Each({colname, index}, collist[4::N Items(collist)],
show(colname);
);Re: For Each() の制限いいですね!うまく動作します。