루프가 반복 될 때마다 변경되는 변수 이름for 루프가 반복 될 때마다 변수 이름을 변경하는 새로운 열 수식을 만들려고합니다. JSL 코드는 아래를 참조하십시오.
For(i = 1, i <= 5, i++,
dtMachineStartandStopTimes << New Column(:Machine||char(i)||RunDuration, Formula(:Machine||char(i)||StopTime-:Machine||char(i)||StartTime));
);
각 행 dtMachineStart 및 중지 시간 "Machine1StartTime"에서 "Machine5StartTime"까지의 열과 "Machine1EndTime"에서 "Machine5EndTime"까지의 열이 있습니다. 위의 코드는 작동하지 않지만 작동시키기위한 간단한 방법이 있어야한다고 생각합니다.
참고로, 나는 이미에서 게시물을 보았습니다. https://community.jmp.com/t5/Discussions/How-to-create-variable-names-depending-on-loop-number/td-p/7422 그러나 나는 포스터가 무엇을하고 있는지를 알 수 없다.
Re : 루프가 반복 될 때마다 변경되는 변수 이름그것은 바로 일했습니다! 정말 고맙습니다!
Re : 루프가 반복 될 때마다 변경되는 변수 이름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)) ]\")));
);