Graph Builder에서 필터 변경Where() 절이 있는 차트를 만든 경우 스크립트에서 해당 필터를 어떻게 변경합니까?
로컬 데이터 필터로 할 수 있지만 << Get Where Expr을 사용하여 읽을 수는 있지만 Where 절을 변경할 수 없는 것 같습니다.
예:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Where( :sex == "F" )
);
gb << get where expr; // outputs :sex == "F"
스크립트의 뒷부분에서 gb를 :섹스 == "M" 으로 제한하려면 어떻게 해야 하나요?
저는 JMP 18.2를 사용하고 있습니다.
자동화 및 스크립팅Re: Graph Builder에서 필터 변경이미 생성된 그래프 빌더에서는 Where 표현식을 변경할 수 없는 것 같습니다. 변경하려면 숨겨진 로컬 데이터 필터를 사용하여 해당 필터의 선택 항목을 업데이트해야 합니다.
Re: Graph Builder에서 필터 변경새로운 그래프를 만드는 것이 괜찮다면 스크립트를 사용하여 어디() 표현식을 새 표현식으로 바꾼 다음 새 코드를 평가할 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Where( :sex == "F" )
);
script = gb << get script;
whereexpr= extract expr(script, Where(wildList()));
Substitute into (script, Name Expr(where expr), Expr(___W___));
<BR />// later:
new whereexpr = Expr(Where( :sex == "M" ));
Substitute into (script, Expr(___W___) , Name Expr(new whereexpr));
Eval(script)