로컬 데이터 필터 산술(예: Graphlet용)그래플릿은 정말 멋져요!
로컬 데이터 필터가 훌륭합니다. 기본 그래프의 하위 그룹과 일치하도록 그래프렛의 데이터를 자동으로 조정합니다.
이 필터를 조정하는 JSL 기능이 있습니까?
나는 이미 찾았다
Skip Filters()
Nascif의 게시물에서 다른 데이터 테이블에서 마우스 오버 그래프
경고 메시지 없이 필터가 다른 테이블에서도 작동할 수 있도록 필터에서 사용되지 않는 부분을 제거합니다.
어떻게 작동하는지 자세히 문서가 있습니까?
필터를 추가하거나 교차하는 JSL 함수도 있습니까?
신청 사례:
필터가 있는 그래프를 생성한 경우(연령으로 제한된 Bif 클래스 플롯= 14)
Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :age ) ),
Elements( Points( X, Y, Legend( 26 ) ) ),
Local Data Filter(
Add Filter( columns( :age ), Where( :age == 14 ), Display( :age, N Items( 6 ) ) )
)
)
호버 레이블로 사용("스크립트 저장" - "호버 레이블"/"그래프렛 붙여넣기"를 통해) ...
로컬 데이터 필터는 여전히 JSL 스크립트에 있습니다.
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables( X( :sex ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Graph Builder(
Size( 422, 474 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :age ) ),
Elements( Points( X, Y, Legend( 26 ) ) ),
Local Data Filter( Add Filter( columns( :age ), Where( :age == 14 ) ) )
)
)
)}
)
)
);
그러나 기능은 Hover Label Extension Framework의 로컬 데이터 필터로 자동 대체됩니다(모든 연령대 표시).

따라서 수동 로컬 데이터 필터를 Hover Label Extension Framework의 필터와 결합하는 "병합" 기능이 있으면 좋을 것입니다.
제도법스크립팅Re: 로컬 데이터 필터 산술(예: Graphlet용)그게 해결책이야!
Hover Label Extension Framework 로컬 데이터 필터 처리가 이스케이프할 기회가 없습니다.
Re: 로컬 데이터 필터 산술(예: Graphlet용)이를 위해 추가 데이터 테이블을 사용해야 할 수도 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:sex)),
Elements(Bar(X, Legend(3))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
If( Is Empty(dt1),
dt1 = dt << Subset(All Rows, Selected Columns(0), invisible);
);
dt1 << Clear Row States;
filter_expr = Expr(And());
Insert Into(filter_expr, Name Expr(_whereExpr));
Insert Into(filter_expr, Name Expr(:age == 14));
Insert Into(filter_expr, Name Expr(:height >= 55 & :height <= 70));
Eval(EvalExpr(dt1 << Select Where(!filter_expr)));
dt1 << Hide and Exclude(1);
gb_expr = EvalExpr(dt1 << Graph Builder(
Size(422, 474),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:age)),
Elements(Points(X, Y, Legend(26))),
Local Data Filter(
Grouped by AND(1),
Add Filter(columns(:sex), Where(Expr(NameExpr(_whereExpr)))),
Add Filter(columns(:age), Where(:age == 14), Display(:age, N Items(6))),
Add Filter(columns(:height), Where(:height >= 55 & :height <= 70))
)
));
gb_expr;
),
Click(
dt1 << Clear Row States;
gb2 = gb_expr;
Eval(EvalExpr(gb2 << On Close(
Try(Close(Expr(dt1), no save));
)));
)
)}
)
)
);
Write();Re: 로컬 데이터 필터 산술(예: Graphlet용)아, "필터 추가"는 새 "OR" 그룹을 추가합니다. 이 세부 정보를 놓쳤습니다.

따라서 호버 레이블의 미니어처 그래프를 수정하는 솔루션이 필요합니다.
흠 ...
Re: 로컬 데이터 필터 산술(예: Graphlet용)그렇지 않으면 스크립트를 수정하면 나중에도 작동해야 한다고 생각합니다. 내가 그것을 정리한다면, 그것의 첫 번째 반복은 아마도 호버 레이블에서 필터를 먼저 적용한 다음 추가 필터를 추가하는 것과 같을 것입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:sex)),
Elements(Bar(X, Legend(3))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Local({gb, f},
gb = Graph Builder(
Size(422, 474),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:age)),
Elements(Points(X, Y, Legend(26)))
);
Eval(EvalExpr(
f = gb << Local Data Filter(
Add Filter(
columns(expr(_filters)), Where(expr(NameExpr(_whereExpr)))
)
)
));
//f << Conditional(1);
f << Grouped By And(1);
f << Add Filter(Columns(:age), Where(:age == 14));
f << Add Filter(Columns(:height), Where(:height >= 55));
)
),
)}
)
)
);
Write();
</CODE></P>
<P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-525478" slang="en-US" mode="NONE">Re: 로컬 데이터 필터 산술(예: Graphlet용)</LINGO-SUB><LINGO-BODY id="lingo-body-525478" slang="en-US" mode="NONE"><P>안녕 자모.<BR /> JSL 스니플릿에 감사드립니다. 배울 점이 많습니다...</P><P> </P><P>흥미 롭군:</P><OL><LI>로컬 데이터 필터가 Graph Builder 부분(내 코드) 내부에 생성된 경우 Hover 레이블 확장 프레임워크의 로컬 데이터 필터로 덮어씁니다.</LI><LI>Graph Builder(귀하의 코드) 이후에 로컬 데이터 필터가 생성되면 호버 레이블 확장 프레임워크의 로컬 데이터 필터를 덮어씁니다. *)</LI></OL><P> </P><P>*) 자세히 보기:</P><P>이는 호버 레이블에서 미니어처 그래프를 클릭한 후 열리는 그래프에 적용됩니다.<BR /> 미니어처 그래프 자체는 여전히 모든 연령을 표시하므로 사례 1)</P><P>-> 생성된 두 개의 별개의 그래프가 있다는 것이 놀랍습니다. 로컬 데이터 필터를 덮어쓰는 다른 방법이 있습니까?<BR /><BR /></P><P>마지막 질문:<BR /> 다른 로컬 데이터 필터 기능을 설명하는 자습서가 있습니까?<BR /> 예를 들어 왜 사용해야합니까?</P><PRE><CODE class=" language-jsl">f << (Filter Column(:age) << Where(::age == 14));
왜
f << Add Filter(Columns(:age), Where(::age == 14));
동일한 필터를 추가했지만 아무런 효과가 없습니까?
Re: 로컬 데이터 필터 산술(예: Graphlet용)이것을 스크립팅할 수 있지만 로컬 데이터 필터를 병합할 수 있는 옵션이 있으면 확실히 좋을 것입니다. 이 코드는 더 깔끔하게 만들 수 있지만 그냥 무차별 대입했습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:sex)),
Elements(Bar(X, Legend(3))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
gb = Graph Builder(
Size(422, 474),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:age)),
Elements(Points(X, Y, Legend(26)))
);
Insert Into(_filters, Name Expr(:age));
Eval(Substitute(
Expr(
f = gb << Local Data Filter(Add Filter(
columns(_col_list_), Where(_wheres_)
))
),
Expr(_col_list_),
_filters,
Expr(_wheres_),
Parse(_where)
));
f << (Filter Column(:age) << Where(::age == 14));
),
)}
)
)
);