사용자에게 입력을 요청하는 텍스트 상자 표시안녕,
이상값을 탐색하기 위해 사용자에게 Q 및 Tail 분위수에 대한 값을 입력하도록 요청하는 텍스트 편집 상자를 추가하고 싶습니다. 여기에 내가 시도한 것이 있지만 뭔가 빠진 것 같습니다. 도움이 될만한 조언을 해줄 수 있습니까?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Water Treatment.jmp");
check_list = {"SS", "SE", "PH"};
todo_list = {};
nw = new window("Checkboxes", << modal(),
"Input",
V List Box( Text Box( "Enter Tail Quantile " ), tail = Text Edit Box() ,
Text Box( "Enter Q Value " ), quan = Text Edit Box() ),
my_cb = checkbox(check_list),
panelbox("Actions",
hlistbox(
button box("OK",
ta = tail << get text();
qu = quan << get text();
keep_going = 1;
todo_list = my_cb << get selected;
),
button box("Cancel", keep_going = 0)
),
),
);
For(i = 1, i <= N Items(colList), i++,
If(Contains(colList[i], "SS"), Insert Into(filteredCols, colList[i]))
);
obj = dt <<
Explore Outliers(
Y((Eval(filteredCols) )));
obj << Quantile Range Outliers;
obj << Tail Quantile (ta);
obj << Q(qu);
obj << Select Rows(All);
데이터 혼합 및 정리Re: 사용자에게 입력을 요청하는 텍스트 상자를 표시합니다.분석을 리버스 엔지니어링하려고 합니다.원하는 매개변수/열을 사용하여 수동으로 분석을 수행합니다.그런 다음 작은 빨간색 화살표를 클릭하고 스크립트를 클립보드 또는 스크립트 창에 저장하는 옵션을 선택합니다.가지고 있는 것 대신 해당 스크립트를 사용하고 새 창에서 변수를 대체하십시오.
Re: 사용자에게 입력을 요청하는 텍스트 상자를 표시합니다.@pmroz 어떤 충고?
Re: 사용자에게 입력을 요청하는 텍스트 상자를 표시합니다.감사해요 @pmroz ,
스크립트는 잘 작동하지만 문제는 기본값을 사용하여 입력 값이 아닌 이상값을 평가한다는 것입니다. 아래 스크린샷 참조
다음 분석은 0.1의 꼬리 분위수와 3의 Q를 기반으로 합니다. 저는 0.4를 입력했습니다. 그리고 3 편집 상자. 다시 실행 분석을 사용하는 데 지쳤지만 창의 모든 행이 선택되지는 않습니다. 어떤 충고?

Re: 사용자에게 입력을 요청하는 텍스트 상자를 표시합니다.몇 가지 수정 - 원래 코드가 몇 가지를 초기화하지 않았습니다.더 멋진 모양을 위해 number edit box()와 lineup box()를 사용했습니다.숫자 편집 상자에는 숫자만 입력할 수 있습니다.

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Water Treatment.jmp");
check_list = {"SS", "SE", "PH"};
todo_list = {};
nw = new window("Checkboxes", << modal(),
text box("Input"),
Lineup Box( N Col( 2 ),
Text Box( "Enter Tail Quantile: " ), tail = number Edit Box() ,
Text Box( "Enter Q Value: " ), quan = number Edit Box()
),
my_cb = checkbox(check_list),
panelbox("Actions",
hlistbox(
button box("OK",
ta = tail << get();
qu = quan << get();
keep_going = 1;
todo_list = my_cb << get selected;
),
button box("Cancel", keep_going = 0)
),
),
);
collist = dt << get column names(string);
filteredcols = {};
For(i = 1, i <= N Items(colList), i++,
If(Contains(colList[i], "SS"), Insert Into(filteredCols, colList[i]))
);
obj = dt << Explore Outliers( Y((Eval(filteredCols) )));
obj << Quantile Range Outliers;
obj << Tail Quantile (ta);
obj << Q(qu);
obj << Select Rows(All);Re: 사용자에게 입력을 요청하는 텍스트 상자를 표시합니다.Tail Quantile 및 Q 항목은 모두 문자열/텍스트가 아닌 숫자여야 합니다.Num() 함수를 사용하여 변환합니다.