사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?안녕,
내 데이터를 분석하는 기본 스크립트를 만들려고 합니다.
스크립트에 연결된 썸네일을 누르면
1. 사용자에게 범위를 입력하도록 요청합니다.
2. 최대값과 최소값을 보여주는 데이터 테이블을 만듭니다.
3. 최소값, 최대값 및 목표값이 포함된 그래프를 생성합니다.
지금까지 제가 할 수 있는 일은 데이터 테이블이나 그래프에 대한 스크립트를 가져와 이를 JMP의 바로가기에 별도로 통합하는 것뿐입니다. 사용자를 위한 쿼리 상자 생성을 생성하는 방법을 알 수 없으며 그래프와 데이터 테이블을 함께 통합할 수 없습니다. 이에 도움이 될 수 있는 기본 튜토리얼 세트를 조언해 주실 수 있나요?
감사합니다.
엘레이나
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?안녕하세요 Jarmo님,
다시 한 번 감사드립니다! 질문 하나 더: userFirstName 및 userLastName을 사용할 때는 스크립트가 작동하지만 파일 경로 문자열 정의 텍스트에서 b1,b2를 사용할 때는 작동하지 않는 이유는 무엇입니까?
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window( "Defining User Name", <<MODAL></MODAL>
최상의,
늦은
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?모달 창을 사용하고 있고 "너무 일찍" 닫고 있기 때문에 이 오류가 발생합니다. 모달 창은 기본적으로 특정 버튼 제목을 사용해야 하는 특별한 유형의 창입니다. 스크립팅 가이드 > 표시 트리 > JSL의 모달 창 > 모달 창 구성
메모: 모달 창을 닫으려면 최소한 하나의 버튼이 필요합니다. 당신이 사용할 수있는 좋아요 , 예 , 아니요 , 또는 취소 모달 창 버튼에 레이블을 지정합니다. 모달 창에 이러한 버튼 중 하나도 포함하지 않으면 JMP는 좋아요 단추.
w << closeWindow;를 제거합니다. 업데이트 문자열 버튼에서. 해당 버튼을 눌렀을 때 창을 닫으려면(필요한 확인 버튼이 없음) 확인 버튼을 추가한 다음 클릭 메시지를 보냅니다. 원한다면 확인 버튼을 숨길 수도 있다고 생각합니다.
Names Default To Here(1);
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window("prototype",
<<MODAL></MODAL>
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?안녕하세요 Jarmo님,
감사합니다! 이것은 대접을 받았습니다! 그러나 이제 두 가지 추가 문제가 발생했습니다. 내가 그것들을 설명한다면:
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window( "prototype", <<MODAL></MODAL>
우선 업데이트 문자열을 누르면 올바른 테이블이 나오지만 오류도 발생합니다.

둘째, 스크립트는 "작동"합니다. 즉, userFirstName & userLastName 변수를 사용하면 여러 파일 가져오기를 수행하지만 연결 문자열에 b1, b2를 사용하면 작동하지 않습니다. 이유에 대한 내 생각에는 b1, b2 변수를 정의하는 데 사용하는 부분(텍스트 편집 상자 사용)이 로컬이기 때문입니다. b1,b2 변수는 나머지 스크립트에 계속 존재하지 않습니까? 그렇다면 어떻게 전역 변수로 존재하게 만들 수 있습니까?
오류를 제거하려면 어떻게 해야 합니까? 창에 << 모달 절을 추가했기 때문에 발생한 것 같습니다. 하지만 스크립트를 일시 중지하고 운영자가 이름 입력이 올바른지 확인할 수 있도록 하려면 이 작업을 수행해야 합니다.
이상적으로 제가 구축하려는 워크플로는 다음과 같습니다.
사용자가 스크립트를 실행합니다.
스크립트는 사용자에게 이름과 성을 정의하도록 요청하는 팝업 상자를 표시합니다.
스크립트를 사용하면 사용자가 항목이 올바른지 확인할 수 있습니다(filePathString을 표시하는 것이 현재 출력보다 나을 것입니다).
사용자가 확인을 클릭하면 스크립트가 계속 진행되어 여러 다른 filePathStrings에서 새 변수를 사용합니다.
내 목적에 맞게 데이터 입력 텍스트 상자를 이 스크립트에 통합할 수 있는 다른 방법이 많이 있으므로 어떤 도움이라도 주시면 감사하겠습니다.
감사해요,
늦은
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?테이블에 대해 "평가"되고 있기 때문에 Send 거기에 표시됩니다(<<는 보내다() ) 아마도 Eval List()로 목록을 래핑하여 거기에 있는 값을 평가하는 것만으로도 충분할 것입니다.
Names Default To Here(1);
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window("prototype", // opens a window with a title and this content...
Border Box(top(20), bottom(20), Left(20), Right(20), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box(Text Box("Report Generator")), // a second title, centered
Spacer Box(size(1, 30)), // a little vertical space
H List Box(Text Box("First Name: "), b1 = Text Edit Box(userFirstName)), // data entry
Spacer Box(size(1, 10)), // a little vertical space
H List Box(Text Box("Last Name: "), b2 = Text Edit Box(userLastName)), // more data entry
Spacer Box(size(1, 30)), // a little vertical space
H Center Box( // center the button
Button Box("Update Strings", // this script runs when the button is pressed...
// make a new table with the values...
dt = New Table("StringCheck",
New Column("Name",
Character,
Set Values(Eval List({b1 << get text(), b2 << get text()}))
)
);
// optionally, close the dialog. Or, you might want to run it again...
w << closeWindow; // just the dialog, not the report
)
)
)
)
);
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?안녕하세요 크레이지,
오래된 스레드에 답글을 달아도 괜찮기를 바랍니다. 나중에 스크립트에서 문자열로 사용할 몇 가지 변수를 만들고 싶습니다(사용자에 따라 변경되는 파일 가져오기용 사용자 디렉터리). 이를 달성하기 위해 스크립트를 조정하려고 합니다.
아이디어는 변수가 먼저 기본값을 사용하여 생성된다는 것입니다. 그런 다음 입력 상자가 나타나고 사용자가 값을 변경하면 스크립트가 계속해서 가져오기에서 업데이트된 변수를 사용합니다.
//Import multiple files
Multiple File Import(
<<SET folder=""></SET>
따라서 아래가 스크립트에서 가장 먼저 나옵니다.
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window( "prototype", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Report Generator" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "First Name: " ), b1=Text Edit Box( userFirstName ) ), // data entry
Spacer Box( size( 1, 10 ) ), // a little vertical space
H List Box( Text Box( "Last Name: " ), b2=Text Edit Box( userLastName ) ), // more data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "Update Strings", // this script runs when the button is pressed...
// make a new table with the values...
dt = New Table( "StringCheck", New Column( "Name", Character, Set Values( {b1<< get text(), b2 << get text()} ) ) );
// optionally, close the dialog. Or, you might want to run it again...
w << closeWindow; // just the dialog, not the report
)
)
)
)
);데이터 입력 창과 문자 열 "Name"이 있는 StringCheck라는 테이블을 성공적으로 얻었습니다. 그러나 두 값은 "Send"입니다.

나는 그것이 작동하도록 하기 위해 몇 가지 다른 것을 시도했지만 "보내기"가 어디에서 왔는지 평생 알 수 없습니다.
도움을 주시면 감사하겠습니다.
늦은
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?흠. 해당 JSL을 테스트했는지 궁금합니다. NumberEditBox는 필드가 변경될 때 v1/v2 변수를 업데이트하지 않으므로 보고서는 항상 동일합니다. 이는 다음과 같아야 합니다.
v1 = 30; // two numbers with default
v2 = 40; // values; these will go in a data table
w = New Window( "prototype", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Report Generator" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "value 1: " ), b1=Number Edit Box( v1 ) ), // data entry
Spacer Box( size( 1, 10 ) ), // a little vertical space
H List Box( Text Box( "value 2: " ), b2=Number Edit Box( v2 ) ), // more data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "make report", // this script runs when the button is pressed...
// make a new table with the values...
dt = New Table( "Untitled", New Column( "a", Set Values( {b1<<GET></GET>
상자를 기억하기 위한 추가 b1 및 b2 변수와 해당 상자에 대한 <
The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.The report isn't created until after the button is pressed. Artistic license.버튼을 누를 때까지 보고서가 생성되지 않습니다. 예술적 라이센스.
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?이 스레드의 또 다른 사례가 있는 것 같습니다. 여기 . 제가 거기에 올린 답글도 참조하시기 바랍니다.
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?사용자 정의 프롬프트를 사용하여 JMP에서 모달 또는 비모달 대화 상자를 만들 수 있습니다.
모달 대화 상자에서는 완료할 때까지 다른 작업을 수행할 수 없습니다. http://www.jmp.com/support/help/Modal_Windows.shtml
비모달 대화 상자를 사용하면 다른 창에서 작업하고 나중에 모달리스 창으로 돌아올 수 있습니다. http://www.jmp.com/support/help/Constructing_Display_Trees.shtml#259363
설명하는 비모달 프로토타입은 다음과 같습니다.
v1 = 30; // two numbers with default
v2 = 40; // values; these will go in a data table
w = New Window( "prototype", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Report Generator" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H List Box( Text Box( "value 1: " ), Number Edit Box( v1 ) ), // data entry
Spacer Box( size( 1, 10 ) ), // a little vertical space
H List Box( Text Box( "value 2: " ), Number Edit Box( v2 ) ), // more data entry
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "make report", // this script runs when the button is pressed...
// make a new table with the values...
dt = New Table( "Untitled", New Column( "a", Set Values( {v1, v2} ) ) );
// launch a platform to analyze the data...
dt << Distribution( Continuous Distribution( Column( :a ), Quantiles( 0 ), Summary Statistics( 0 ), Vertical( 0 ), Outlier Box Plot( 0 ) ) );
// optionally, close the dialog. Or, you might want to run it again...
w << closeWindow; // just the dialog, not the report
)
)
)
)
);
Prototype dialogPrototype dialogPrototype dialogPrototype dialogPrototype dialogPrototype dialogPrototype dialog프로토타입 대화 상자
Re: 사용자에게 입력을 요청하는 텍스트 상자를 어떻게 표시합니까?b1 및 b2는 값을 저장하지 않으며 단지 표시 상자에 대한 참조일 뿐입니다. 그리고 모달 창을 닫으면 해당 창에 액세스할 수 없게 됩니다. 버튼을 누를 때 값을 저장할 수 있습니다
Names Default To Here(1);
// Defining firstname and lastname string
userFirstName = "XXXX";
userLastName = "YYYY";
//changing username variables based on user input
w = New Window("Defining User Name",
<<MODAL></MODAL>
b1_val 및 b2_val. 그리고 그런 것을 사용한다면 테이블에 값을 추가할 때도 사용해야 합니다.