ループが繰り返されるたびに変わる変数名forループが繰り返されるたびに変数名を変更する新しい列式を作成しようとしています。JSLコードについては以下を参照してください。
For(i = 1, i <= 5, i++,
dtMachineStartandStopTimes << New Column(:Machine||char(i)||RunDuration, Formula(:Machine||char(i)||StopTime-:Machine||char(i)||StartTime));
);
各行 dtMachineStartandStopTimes "Machine1StartTime"から "Machine5StartTime"、"Machine1EndTime"から "Machine5EndTime"までの列があります。上のコードは機能しませんが、それを機能させる簡単な方法があるはずです。
ちなみに、私はすでにこの記事をで見ました。 https://community.jmp.com/t5/Discussions/How-to-create-variable-names-depending-on-loop-number/td-p/7422 しかし、私はポスターが何をしているのかわからない。
再:ループが繰り返されるたびに変わる変数名それはすぐにうまくいきました!どうもありがとうございます!
再:ループが繰り返されるたびに変わる変数名New Column()の最初の引数は文字列でなければなりません。 代わりにこの "Machine" || char(i)|| "RunDuration"を試してください。
あなたの式をJMPのように解釈するとしたら、それは「現在の行の値を「Machine」列に取り、現在のインデックスの値を追加し、変数StopTimeの値を追加する」というようなものです。等 そのように列参照を作成することはできません。 この場合、式を適用する前に式を解析して「char(i)」の要素を削除する必要があります。これは、「i」の値が最早無効になった時点で無効になるためです。数式が作成されたか、未定義です。 これを行う方法は次のとおりです。
For(i = 1, i <= 5, i++,
Eval(Parse(Eval Insert("\[dtMachineStartandStopTimes << New Column("Machine^i^RunDuration", Formula(:Machine^i^StopTime - :Machine^i^StartTime)) ]\")));
);