필터 변경 처리기방금 알아냈습니다: 필터 변경 핸들러 만들기 반환 값을 변수에 저장하는 경우에만 작동합니다.
왜
filter << Make Filter Change Handler( f );
작동하지? 그 뒤에 알 가치가 있는 지식이 있습니까?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dist = Distribution( Automatic Recalc( 1 ), Continuous Distribution( Column( :POP ) ) );
filter = dist << Local Data Filter( Add Filter( columns( :Region ) ) );
f = Function( {a}, Print( a ) );
// 1st version dosn't work - why?
// filter << Make Filter Change Handler( f );
rs = filter << Make Filter Change Handler( f );자동화 및 스크립팅Re: 필터 변경 처리기안녕 @호기 - 이것은 최근에 다른 사람에게 떠오른 것입니다.현재 동작 뒤에 있는 이유는 JSL 기호가 콜백을 전달하는 개체의 소유자이기 때문입니다. 창을 만드는 플랫폼과 달리 소유권을 가질 또 다른 명확한 후보가 없습니다.상자를 생성하지만 부모를 제공하거나 심볼에 저장하지 않는 경우 표시 상자와 같은 경우에도 이러한 현상이 발생합니다. 이 경우 눈에 잘 띄지 않습니다.한 가지 옵션은 보고서와 함께 사라지도록 변수를 창 범위 기호에 넣는 것입니다.
Re: 필터 변경 처리기안녕 @danschikore , 답장을 보내 주셔서 감사합니다.
Graph Builder 개체에서 열린 데이터 필터는 항상 함수를 두 번 트리거하는 반면 데이터 필터 컨텍스트 상자의 데이터 필터는 함수를 1x 트리거합니다.
그리고 비활성화하면
count excluded rows
"내부" 데이터 필터의 두 데이터 필터 사이에서 약간의 탁구를 볼 수 있습니다.
반환 값이 0인 함수 호출의 이유는 무엇입니까?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
countexcluded = 1;
New Window( "Big Class - Dashboard",
Data Filter Context Box(
Panel Box( "Data Filter Context Box: Data Filter + GraphBuilder",
H Splitter Box(
Size( 700, 400 ),
<<SIZES></SIZES>