모델링을 위한 작은 업데이트/진행 창을 스크립팅하는 방법에 대한 제안친애하는 JMP 커뮤니티 여러분,
나는 모델 작성 스크립트를 실행할 때 나타나는 작은 창을 스크립팅하여 현재 실행 중인 단계(수천 개 중)를 보여주고 싶습니다. 나는 작동하지만 매번 새 창을 만드는 다음 스크립트와 같은 작업을 할 생각입니다.
Names Default To Here( 1 );
imax = 5;
For( i = 1, i <= imax, i++,
update_window = New Window( "Progress Update",
Text Box( " Current step " || Char( i ) || " of " || Char( imax ), <<SET font="" size=""></SET>
Of course, my imax is much larger than 5, this is just a test script. I get an output at each iteration of the following (five windows in this case):
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Snap2.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="Snap2.png" style="width: 254px;"><img src="https://us.v-cdn.net/6038925/uploads/images/22132iC6ED49231F83C2B5/Snap2.png" role="button" title="Snap2.png" alt="Snap2.png" /></span></SPAN>
But, as mentioned, this would make several thousand such windows, which I don't want. I'd like to update just the step "i" of the total.
The modeling script is built into a data table and has it's own FOR loop as it's running a giant tuning table one line at a time -- imax is the NRows() of this tuning table, and can be on the order of 24k+ rows. I want to insert into the main for loop a script that creates a <EM>하나의</EM> window that stays on the screen and tells the user what step "i" it's at out of NRows(). (Scrolling through the data table is tedious, and this seems like a reasonable solution.)
I don't need a progress bar, or anything like that, just a simple number that changes at each iteration of the main FOR loop. There is only one FOR loop, BTW.
Thanks for your suggestions!
DS
Re: 모델링을 위한 작은 업데이트/진행 창을 스크립팅하는 방법에 대한 제안업데이트:
내가 참조한 게시물에서 JSL을 수정한 후 진행 상황을 막대(시각적)와 실제 걸음 수 X/Y로 표시하는 이 테스트 창을 만들 수 있었습니다. 재미있었어요!
Names Default To Here( 1 );
i = 1;
imax = 100;
dlgStatus = New Window( "Overall Modeling Progress",
V List Box(
dlg_gb = Graph Box(
Title( "Overall Modeling Progress" ),
FrameSize( 150, 15 ),
X Scale( 0, 100 ),
Y Scale( 0, 1 ),
yaxis( show major ticks( 0 ), show minor ticks( 0 ) ),
xname( "% complete" ),
yname( "" )
),
tb = Text Box(
" Current step " || Char( i ) || " of " || Char( imax ),
<<SET font="" size=""></SET><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Snap1.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="Snap1.png" style="width: 218px;"><img src="https://us.v-cdn.net/6038925/uploads/images/22135iDC529E2F063EFA18/Snap1.png" role="button" title="Snap1.png" alt="Snap1.png" /></span></SPAN>
Re: 모델링을 위한 작은 업데이트/진행 창을 스크립팅하는 방법에 대한 제안안녕하세요 @Mark_Bailey 님 ,
이에 대한 빠른 답변에 감사드립니다. 완벽한 솔루션!
저는 이 게시물( https://community.jmp.com/t5/Discussions/JMP-script-progress-indicator/mp/6057#M6056 )을 읽은 후 이 방향으로 움직이게 되었습니다. 하지만 아직 몇 걸음 거리가 멀었습니다. 테스트 스크립트의 경우 속도가 너무 빨라서 FOR 루프에 Wait()를 추가해야 했습니다. 각 단계마다 모델링 시간이 더 오래 걸리므로 걱정하지 않습니다.
향후 버전에서는 위 게시물의 다른 사용자가 수행한 작업을 수정하여 "진행률 표시줄"로 변경할 수 있습니다.
다시 한 번 감사드립니다!,
DS
Re: 모델링을 위한 작은 업데이트/진행 창을 스크립팅하는 방법에 대한 제안반복이 시작되기 전에 별도로 업데이트가 포함된 창을 엽니다. 변수에 텍스트 상자에 대한 참조를 저장합니다. << Set Text( "new text" ) 메시지를 반복 내부의 참조로 보냅니다.
Names Default To Here( 1 );
imax = 5;
update_window = New Window( "Progress Update",
tb = Text Box( "Initial message", <<SET font="" size=""></SET>