대화형 사용자 입력을 위한 드롭다운 메뉴 만들기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP 스크립팅에 대해 질문이 있습니다. JMP 11을 사용하고 있습니다. JMP에서 대화형 스크립트를 만들고 싶습니다. 스크립트에는 다음 요소가 있습니다.
1. 스크립트는 사용자에게 문서를 선택하라는 메시지를 표시합니다. 사용자는 문서 이름을 선택합니다.
2. 해당 선택 사항을 기반으로 나머지 스크립트는 사용자가 선택한 문서를 기반으로 쿼리를 실행하고 관련 차트 및 테이블을 생성합니다.
JMP에서 2위를 달성하는 방법을 알고 있습니다. #1의 경우 텍스트 상자를 표시하고 사용자가 전체 문서 이름을 직접 입력하도록 하는 방법을 알고 있지만 수동 오류가 발생할 수 있고 잘못된 이름을 입력하면 나머지 쿼리가 작동하지 않습니다.
그래서 나는 문서 테이블에 대한 데이터베이스 쿼리가 모든 활성 문서를 사용자에게 드롭다운 목록으로 표시하고 사용자는 표시된 문서 중 하나만 선택할 것이라고 생각하고 있습니다. JMP 스크립팅에서 할 수 있습니까?
스크립트를 대화형으로 만들기 위한 스크립팅 매뉴얼을 살펴보았지만 사용자가 전체 텍스트를 입력하도록 하는 옵션이 유일했습니다. 그래서 당신과 함께 확인하고 싶었습니다.
미리 대단히 감사합니다!
Re: 대화형 사용자 입력을 위한 드롭다운 메뉴 만들기조금만 확장하면 john.ponte 님의 게시물입니다.이것은 내가에서받은 예입니다 주 그리고 자주 수정했습니다.
/* 샘플 데이터 테이블 열기 */
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* 고유 연령 목록 추출 */
요약( a = By( :age ) );
삽입 대상( a, "<나이 선택>", 1 );
/* 모달 다이얼로그 생성 */
새 창( "예제",
<<모달,
H 목록 상자(
/* 나이를 선택하면 두 번째 ComboBox에 해당 이름을 채웁니다. */
패널 상자( "나이를 선택하세요:",
cb1 = 콤보 상자(
ㅏ,
<
함수({이것},
선택 = this << Get Selected();
r = dt << 행 가져오기 Where( :age == Num( selection ) );
나이 이름 = :이름;
삽입 대상( ageNames, "<이름 선택>", 1 );
cb2 << 세트 항목( ageNames );
)
)
)
),
/* 로그의 두 ComboBox에서 선택한 값을 인쇄합니다. */
패널 상자( "이름 선택:",
cb2 = 콤보 상자(
{"<이름 선택>"},
<
함수({이것},
that=this<< 선택받기();
인쇄(선택, 그)
)
)
)
)
)
);
sel=num(선택)
Re: 대화형 사용자 입력을 위한 드롭다운 메뉴 만들기JSL에서 드롭다운 목록을 만들려면 목록과 콤보 상자를 만들기만 하면 됩니다. 다음은 몇 가지 샘플 JSL입니다.
나의 목록 = {
"<하나 선택>" ,
"하나" ,
"둘" ,
"삼" ,
"넷" ,
"다섯"
} ;
doList초이스 = 특급 (
선택 = 내 목록 상자 << getSelected ;
보여 주다 ( 선택 ) ;
) ;
내 목록 상자 = 콤보 박스 ( 나의 목록 , doList초이스 ) ;
이기다 = 새창 ( "목록 표시" , 내 목록 상자 ) ;
이것을 실행하면 창에 드롭다운 목록이 표시됩니다. 선택하면 로그에서 선택한 항목이 표시됩니다.
이제 질문은 목록을 작성하는 방법입니다. 문서가 디렉토리에 저장된 파일인 경우 디렉토리에서 목록을 생성하는 JSL을 보여드릴 수 있습니다. 하지만 문서가 데이터베이스에 있는 것 같습니까? 그렇다면 데이터베이스를 쿼리하고 목록을 얻을 수 있다고 생각합니다. 그런 다음 그림과 같이 해당 목록을 사용하여 콤보 상자를 만듭니다. 데이터베이스를 사용하여 아무 것도 스크립팅하지 않았으므로 해당 영역에 대한 지식이 약합니다.
이것이 귀하의 질문에 대한 답변입니까? 아니면 데이터베이스 쿼리에 도움이 필요했습니까?