다중 선택이 가능한 모달 선택 창을 어떻게 생성합니까?안녕하세요 JMP 커뮤니티 여러분,
다음 사항에 대한 도움이 필요합니다. 명목 숫자 열( Values )이 있는 테이블( dt )이 있습니다. Values 열의 정렬된 고유 값을 표시하는 창을 만들고 싶습니다. 그런 다음 하나 이상의 값을 선택하여 반환하고 Select Where 함수에 전달하고 싶습니다.
저는 JSL 초보자입니다. 귀하의 도움에 감사드립니다.
이 문제를 해결하기 위해 다음과 같이 SelectNumericValues 함수를 만들었습니다.
// function to create a modal window with selection functionality
SelectNumericValues = Function( {dt, column_name},
// Use Summarize to find unique values in the specified column
Summarize( unique_values = By( Column( dt, column_name ) ) );
// Calculate the maximum number of selections
max_selections = N Items( unique_values );
// Create a window for user selection
nw = New Window( "Select Values",
<
// call my function with table dt and nominal numeric column "Values"
selected_values = SelectNumericValues(dt, "Values");
dt_select = dt << Select Where( :Values == selected_values)
고유한 정렬 값이 있는 창이 올바르게 렌더링됩니다.

그리고 하나 또는 여러 옵션을 선택할 수 있습니다. 하지만 결국 다음 두 가지 오류가 발생합니다.
- 'List'에 대한 액세스 또는 평가에서 스크립트 가능 개체를 기대합니다., {###*/"0", "1", "2"}
- 이름 미해결: 'Button'에 대한 액세스 또는 평가 중 Button, Button( 1 ) /*###*/
이는 SelectNumericValues 함수에서 버튼을 올바르게 처리하지 못하고 Select Where 함수에서 반환된 값을 잘못 처리하고 있음을 의미합니다.

추가 질문입니다. 최소한 하나의 옵션을 선택해야 한다는 요구 사항을 어떻게 구현해야 할까요? (아무것도 선택하지 않고 모달 창을 닫는 것은 불가능하거나, 암묵적으로 모든 옵션이 선택되었음을 의미해야 합니다).
감사해요!
폴
자동화 및 스크립팅윈도우Re: 다중 선택이 가능한 모달 선택 창을 어떻게 생성합니까?작동하는 해결책을 찾았습니다. 저는 다음과 같은 실수를 했습니다.
- SelectNumericValues 함수는 숫자가 아닌 문자 목록을 반환합니다.
- Select Where 함수 호출에는 숫자 목록과 일치하는 Contains 함수가 필요합니다.
- SelectNumericValues 함수의 이 줄 selected_values = nw << Show Window; 로 인해 버튼 관련 오류가 발생합니다(제 생각에는)
결과적으로, 선택된 값을 숫자로 강제 변환해야 합니다. 그리고 Select Where 함수 호출을 조정해야 합니다.
저는 이것이 올바르게 작동하는 것을 확인했습니다:
// Function to generate the user selection window for numeric values
SelectNumericValues = Function( {dt, column_name},
// Use Summarize to find unique values in the specified column
Summarize( unique_values = By( Column( dt, column_name ) ) );
// Calculate the maximum number of selections
max_selections = N Items( unique_values );
// Create a window for user selection
nw = New Window( "Select Values",
<I am happy to see additional improvements from other users.Re: 다중 선택이 가능한 모달 선택 창을 어떻게 생성합니까?데이터 필터를 사용하는 것을 고려해야 한다고 생각합니다. 그것은 당신을 위해 표시하고 선택할 것입니다.
Re: 다중 선택이 가능한 모달 선택 창을 어떻게 생성합니까?고맙네요, 짐!
귀하의 추천에 따라 데이터 필터 기능을 사용하여 스크립트를 만들었습니다. 대화형 데이터 필터링에 매우 유용한 기능이므로 알려주셔서 감사합니다.
내 스크립트가 구현하는 주요 기능은 사용자가 필터링한 후 데이터를 기반으로 출력(일지, 예를 들어 PDF 문서로 저장)을 만드는 것입니다. 다시 말해, 여기에는 대화형, 다변량 필터링이 필요하지 않습니다. 그런 의미에서 이 게시물에서 공유한 접근 방식이 저에게 유용합니다.
폴