안녕하세요 여러분,
주어진 목록의 값을 기반으로 개별 일방향 차트를 만들려고 합니다.where 열 == 값 목록 등을 사용하여 for 루프에서 이를 수행할 수 있습니다. 문제는 where 절을 사용할 때 JSL을 통해 텍스트를 변경할 수 없는 차트 위의 목록 상자에 이 TextBox가 표시된다는 것입니다. 마우스 오른쪽 버튼을 클릭하고 속성으로 이동하면 변경할 수 있지만 코드를 통해 이 작업이 수행되기를 원합니다. 이 방법은 데이터가 무엇인지 보여주지 않으며 텍스트를 변경할 수 없으면 오해의 소지가 있을 수 있으므로 도움을 주시면 감사하겠습니다. 열에 대해 일반 By 절을 사용하지만 코드를 통해 동일한 모양을 원할 때 올바른 방법이 발생합니다. 아래 예를 살펴보십시오.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
types = {"F", "M"};
ow = Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
Where(:sex == types[1])
);다음을 생산합니다:

나는 이 부분을 :Sex == "F"라고 말하고 싶습니다. 따라서 그래프가 보고서에 있는 경우 지금 당장은 "F"로 부분 집합되었음을 표시하므로 그러한 정보를 제공하지 않습니다.
이 코드를 사용하면:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ow = Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
By(:sex)
);나는 얻다:

for 루프가 "M"을 제공한다는 것을 알고 있지만 where 절을 사용하여 첫 번째 루프에 sex=F와 동일한 세부 정보를 어떻게 얻을 수 있습니까?
미리 감사드리며 도움을 주시면 감사하겠습니다!
해야 할 일은 JMP로 전달되는 내용을 완전히 확장하여 Oneway를 JMP로 전달할 때 수행해야 할 표현식 평가가 없도록 하는 것입니다.
이를 수행하는 한 가지 방법은 다음과 같습니다.

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
types = {"F", "M"};
Eval(
Substitute(
Expr(
ow =
Oneway(
Y( :height ), // Dependent variable
X( :age ), // Factor variable
Where( :sex == _types_ )
)
),
Expr( _types_ ), types[1]
)
);