데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?이 작업을 대화식으로 수행하는 방법을 알고 있지만 상위 데이터 테이블에서 데이터 필터()로 선택한 데이터를 JSL을 통해 새(하위 집합) 데이터 테이블로 가져오는 방법은 무엇입니까? 또한 데이터 필터에서 선택 항목이 변경됨에 따라 새로 생성(이전 하위 집합 닫기)하거나 이전 항목을 새로 고침(가능한 경우)할 새 하위 집합 데이터 테이블이 필요합니다.
자동화 및 스크립팅Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?어떤 유형의 데이터 필터가 있고 어디에 있습니까? 사용자가 선택을 수행하는 방법(데이터 필터에서 수행된 선택만 사용해야 함)? 결과 테이블은 무엇을 위해 사용됩니까?
데이터 필터에 대한 스크립팅 인덱스 확인

필터링된 행 가져오기, Where 절 가져오기, 일부 옵션으로 하위 집합 표시
Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?@jthi 데이터 필터입니다()
이것이 내가 지금까지 얻은 것입니다. 부분적으로 작동합니다. 선택 항목이 변경되면 새 테이블을 업데이트하거나 생성하려면 테이블이 필요합니다. JSL(닫기())에서 이를 수행하는 방법은 무엇입니까?
Names Default To Here (1);
dt = Current Data Table();
nw = New Window("Select Parameters", << modal, << return result,
obj = dt << Data Filter(
//Location( {3000, -600} ),
Width( 315 ),
Conditional,
Add Filter(
columns( :Col1, :Col2, :Col3, :Col4),
Display( :Col2, "Check Box Display" ),
Display( :Col3, "Check Box Display" ),
Display( :Col4, "Check Box Display" ),
Display(
:Parameter,
N Items( 20 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
);
);
//obj << Get Filtered Rows;
dtNew = dt << subset( selected columns(1), selected rows(1));사용자가 데이터 테이블이 생성되는 기준으로 선택할 수 있도록 모든 상자를 선택 취소한 상태로 시작합니다. 내 경우에는 Get Filtered Rows가 작동하지 않는 것 같습니다.
Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?선택 항목이 변경될 때마다 새 테이블을 생성하시겠습니까? 아니면 사용자가 선택한 후에도 계속되는 모달을 원하십니까?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?@jthi 나는 선택이 변경될 때마다 새 테이블이 생성되어 테이블의 이전 값을 삭제합니다(다음에 수행하려는 작업에 유용함). 나는 이것을 수행하는 방법을 모르기 때문에 모달 접근 방식을 수행했습니다.
Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?필터 상태 핸들러를 사용하여 필터의 선택이 변경될 때 "이벤트"를 트리거할 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
f = Function({a},
Show(obj << get filtered rows);
);
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?@jthi 를 가리켜 주셔서 감사합니다. 필터 상태 핸들러. 그러나 귀하의 스크립트는 "기존 데이터 테이블을 새 데이터로 교체"하는 방식으로 정확히 수행하지 않습니다. 데이터 필터 창은 열린 상태로 유지되어야 하며 사용자가 선택을 변경함에 따라 "dtNew"에서 데이터가 채워지고/업데이트/재생성되어야 합니다. 가능한?
Re: 데이터 필터()에서 선택한 데이터를 JSL을 사용하여 새 데이터 테이블로 가져오는 방법은 무엇입니까?사용자가 모든 선택을 한 다음 준비가 되었을 때 확인을 누르도록 하는 것이 더 쉽지 않습니까?
Re: JSL을 사용하여 데이터 필터()에서 선택한 데이터를 새 데이터 테이블로 가져오는 방법은 무엇입니까?가장 좋은 방법은 로컬 데이터 필터를 사용하는 것입니다. 전역 데이터 필터는 데이터 테이블의 행 상태를 변경합니다.
이러한 로컬 데이터 필터(첫 번째 부분)가 있는 창이 있는 경우 이 코드를 실행하기만 하면 해당 하위 집합을 얻을 수 있습니다.
이 코드는 모든 보고서 창에 사용할 수 있으며 도구 모음 바로가기로 추가할 수도 있습니다.
또는 창에 버튼 상자를 추가하여 하위 집합 테이블 생성을 트리거할 수도 있습니다.
Names Default to Here(1);
/*dt0 = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt0 << Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "F" ) )
)
);*/
ldf = Try( Current Report()["Local Data Filter"] << get scriptable object, Stop() );
dt = ldf << Get Data Table();
WhereClause = ldf << Get where clause();
If( Not( Is Missing( WhereClause ) ),
Eval( Parse( Substitute( ldf << Get where clause(), "Select Where", "myRows= dt << get rows where" ) ) );
dt << subset( Rows( myRows ), Selected columns only( 0 ) );
);
대안으로 .... *)
Re: 데이터 필터()로 선택한 데이터를 새 데이터 테이블로 가져오는 방법(JSL 사용)?Dynamic Subset 추가 기능(필터링 가능한 데이터 테이블, 업데이트됨) 은 어떨까요?