안녕,
JSL에서 로컬 데이터 필터를 사용하는 데 두 가지 문제가 있습니다. 저는 JMP 17을 사용하고 있습니다.
사용자가 목록에서 항목을 선택하도록 요청하고, 선택된 항목은 Graph Builder 객체 내의 로컬 데이터 필터로 전달되는 스크립트를 작성 중입니다. 이 부분은 문제가 없지만, 그래프가 열린 후 로컬 데이터 필터 값을 메인 데이터 테이블에 저장하고 싶습니다. 수동으로 저장하려고 하면 JMP 로그에 기록되지 않아서 스크립트로 어떻게 해야 할지 모르겠습니다. "로컬 데이터 필터 복사()" 및 "로컬 데이터 필터 붙여넣기()" 함수에 대한 스크립팅 색인을 읽어봤지만, 제가 원하는 것과는 정확히 일치하지 않습니다. 따라서 제 첫 번째 문제는 보고서 창에서 메인 데이터 테이블로 로컬 데이터 필터 스크립트를 어떻게 저장하는지입니다.
두 번째 문제는 해당 필터를 재사용하는 방법입니다. 다른 보고서를 생성하는 또 다른 스크립트가 있는데, 이 스크립트는 동일한 로컬 데이터 필터를 사용합니다. 저장된 로컬 데이터 필터 스크립트에서 Get Table Property() 함수를 사용해 보았지만, 새 보고서 창에 제대로 적용되지 않는 것 같습니다.
두 스크립트를 하나의 큰 스크립트로 통합하면 문제가 해결될 것이라는 점은 알고 있지만, 사용자 경험을 단순화하기 위해 분리해 놓았습니다. 이상적인 방법은 아니지만, 제가 생각해낸 방법이 효과가 있을 것 같습니다. 혹시 이 문제를 해결하는 데 도움을 주실 수 있는 분이 계시다면 정말 감사하겠습니다.
진심으로 감사드립니다.
카탈
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
)
);
// How to save "Local Data Filter" to data table?
// Manually add filter
dt << New Script( "Local Data Filter",
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "Female" ) ) )
);
// Second graph
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
// Get local data filter
filter = dt << Get Table Property( "Local Data Filter" );<BR /><BR />// How to apply filter to obj2?
편도
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) )
);
ldf = obj1 << Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
);
ldf << Save Script to Data Table("Local Data Filter");
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
ldf_script = dt << Get Script("Local Data Filter");
Eval(EvalExpr(
Send(obj2, Expr(Name Expr(ldf_script)));
));
안녕하세요, Jarmo님! 잘 작동하네요! 정말 감사합니다 