일반적으로 JMP(JSL)가 예상하지 못한 작업을 수행할 때 신경 쓰지 않는 경우가 대부분입니다. 왜냐하면 대부분의 경우 JMP가 작동하도록 하고 그것이 제가 관심을 갖는 일이기 때문입니다. 하지만 오늘 저는 "흥미로운" 무언가를 생각해 냈습니다. . Where()를 사용하여 분석을 필터링하면 데이터 테이블에 연결된 개인 데이터 테이블이 생성됩니다(상당히 이상한 이름, 이 경우 "Big Class, where -sex == -F-").
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
gb1 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3)))
),
gb2 = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Points(X, Y, Legend(3))),
Where(:sex == "F")
)
)
);
Show(gb1 << Get Data Table);
Show(gb2 << Get Data Table);
/*
dt_private = gb2 << Get Data Table;
dt_private << New Data View;
*/
따라서 이 동작에 대해 몇 가지 질문이 있습니다.
- 분석을 필터링하기 위해 이와 같이 Where()를 사용할 때 항상 이런 일이 발생합니까(그래프 빌더에서만이 아님)?
- 이것은 어딘가에 문서화되어 있습니까?
- JMP에서 이와 같은 상호 작용이 더 있습니까? 숨은 것을 만들면 다음과 같이 나타날 수 있습니다. 하나가 잘못되었습니다. 쉬운 수정은 함수에 대한 테이블 참조를 매개변수로 추가하는 것이었습니다.
- 필터링도 이렇게 해야 하나요?