JSL로 텍스트 상자 가시성("축소")을 설정하는 방법그래프 빌더를 많이 보여주는 창을 만드는 JSL이 있었는데, 데이터를 필터링하는 데 where 언어를 사용했기 때문에 새 창에서 자동으로 텍스트 상자("Where :CID == a[1][g] & :VARABLE == a[2][g] & :WNDOW==a[3][g] & :SATISTIC==a[4][g] & :CLLECTION_NAME==a[5][g]")가 생성되었습니다. 이 텍스트 상자 속성을 "축소"로 설정하고 싶습니다. 해결책을 알려주실 수 있나요? 감사합니다.
데이터 테이블( "FSS" ):RUN_START_DATE << 데이터 유형(숫자, 형식( "yyyymmdd", 8 ), 입력 형식( "yyyymmdd" )) << 모델링 유형 설정( "연속" );
요약(a=by(:CED,:VARABLE,:WNDOW,:SATISTIC,:CLLECTION_NAME),b=min(:LOWER_CRITICAL),c=max(:UPPER_CRITICAL));
n=ni항목(b);
FDCD=새 창("FDC", vlb=v 리스트 박스());
i = 1, i <= n, i=i+j-1에 대하여,
hlb= h 목록 상자(
j=1, j<=4,j++에 대하여,
g=i+j-1;
그래프 = 그래프 빌더(
크기(400, 300),
제어판 표시(0),
제목 표시( 0 ),
( :CID == a[1][g] & :VARABLE == a[2][g] & :WNDOW==a[3][g] & :SATISTIC==a[4][g] & :CLLECTION_NAME==a[5][g])
표시 위치( 0 ),
변수(
X( :실행_시작_날짜),
Y(:값),
그룹 X( :ENTITY ),
오버레이( :RECIPE ),
),
요소(포인트(X, Y, 범례(10)), 더 부드럽게(X, Y, 범례(11))),
보고서 보내기(
Dispatch({}, "그래프 빌더", OutlineBox, {제목 설정( a[1][g]||"|"||a[2][g]||"|"||a[3][g]||"|"||a[4][g] ), 이미지 내보내기 표시( 일반 )}),
Dispatch({}, "RUN_START_DATE", ScaleBox, { Interval( "Day" ), Inc( 3 ), Minor Ticks( 1 )}),
디스패치({}, "VALUE", 스케일박스,{//최대값(c[i]+(c[i]-b[i])*0.1,:VALUE*1.1), 최소값(b[i]+(c[i]-b[i])*0.1,:VALUE*0.9),
참조 라인 추가( c[g], "대시", "빨간색", "UCL", 1 ),
참조 라인 추가( b[g], "대시", "빨간색", "LCL", 1 )})
)
);
);
);
vlb<
);
자동화 및 스크립팅Re: 텍스트 상자 표시 여부("축소")를 설정하는 방법 by JSL이에 대한 해결책이 있는 오래된 게시물이 많이 있습니다. 내가 선호하는 방법은 XPath를 사용하는 것입니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Where(:sex == "M")
),
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Where(:sex == "F")
)
)
);
wait(1);
where_teb = nw << XPath("//TextBox[contains(text(), 'Where(')]");
where_teb << Visibility("Collapse");
필터링에 사용된 열이나 필터링되는 값을 알고 있다면 XPath를 더욱 강력하게 만들 수 있습니다.
Re: 텍스트 상자 표시 여부("축소")를 설정하는 방법 by JSL시작하기에 아주 좋은 게시물입니다:
정답에 대한 정답을 빠르게 얻는 방법
https://www.google.com/search?q=how+to+remove+where++site%3Acommunity.jmp.com
JSL로 "어디" 텍스트 상자 삭제
JMP 사용자 커뮤니티13.02.2020 —"where" 함수로 스크립트를 실행하는 동안 보고서에 텍스트 상자가 추가되었습니다. 삭제하는 방법은 무엇입니까? 삭제하는 대신 "생성하지 않는" 방법이 있습니까?
제목: JSL을 사용하여 텍스트 상자의 가시성("접기")을 설정하는 방법이 글이 오래된 게시물인 것을 알고 있지만, 제가 생성하는 관리도에서 "Where" 문을 제거하기 위해 이 방법을 사용하려고 하는데, 필터링 조건 없이 TextBox 객체만 검색하도록 줄여도 XPath 표현식이 항상 빈 목록을 반환합니다. 제 스크립트를 간략하게 설명드리자면, 스택형 데이터 테이블이 있습니다. 먼저 창을 만들고 VListBox를 삽입합니다.
CtrlChart = New Window("Trend Charts",
vlbreport = V List Box("Trend Review");
);
그런 다음 루프를 사용하여 관리도를 개별 V 목록 상자로 vlbreport에 추가합니다.
vlbreport << Append(
V List Box(
Control Chart Builder( **Control chart setting here) ); );
창이 완전히 채워지도록 대기 명령을 실행한 후, XPath를 사용하여 모든 텍스트 상자의 내용을 반환하려고 하는데 계속해서 실패하고 있습니다.
allbox = CtrlChart << XPath("//Textbox");
현재 allbox가 {}로 반환되고 있습니다. CtrlChart에서 "트리 구조 표시"를 사용하면 모든 TextBox 객체를 포함한 전체 구조를 볼 수 있지만, 아무것도 선택되지 않습니다. 왜 이런 현상이 발생하는지 아시나요? XPath를 사용하여 Where 절을 분리하는 아이디어가 마음에 듭니다. 이렇게 하면 모든 스크립트에 적용할 수 있는 진정한 동적 솔루션이기 때문입니다. 하지만 XPath에 대한 지식이 거의 없습니다. 제 스크립팅 지식은 시행착오, 구글 검색, 스크립팅 가이드를 통해 얻은 것입니다.
제목: JSL을 사용하여 텍스트 상자의 가시성("접기")을 설정하는 방법XPath에서는 Text Box(대문자 B )가 아니라 Text Box 입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "PNP1", "PNP2"};
nw = New Window("Trend Charts",
vlb = V List Box()
);
For Each({colname}, cols,
vlb << Append(
ccb = dt << Control Chart Builder(
Show Limit Summaries(0),
Show Capability(0),
Variables(Y(Eval(colname))),
Show Control Panel(0),
Where(:Site == 1)
)
);
);
Show(nw << XPath("//Textbox[contains(text(), 'Where(')]"));
Show(nw << XPath("//TextBox[contains(text(), 'Where(')]"));
제목: JSL을 사용하여 텍스트 상자의 가시성("접기")을 설정하는 방법정말 사소한 실수였네요. 알려주셔서 감사합니다! 이제 잘 작동해서 너무 기쁩니다. 특히 차트를 PowerPoint로 내보낼 때 저 텍스트 상자들이 정말 짜증 났거든요. JMP에 저런 텍스트 상자를 숨길 수 있는 설정이 있으면 이런 편법을 쓸 필요가 없을 텐데요.