안녕하세요,
목록 변수의 열로 채워지는 열 전환기를 사용하는 배포 플랫폼이 있습니다. 이러한 각 열은 서로 다른 품질 매개변수를 나타내므로 SQL 쿼리에서 수집되는 서로 다른 제한이 있습니다.
열 전환기가 열을 변경할 때 배포 플랫폼에 참조선을 동적으로 추가하는 방법이 있습니까? 지금은 각 항목에 대해 루프에서 실행되는 SendToReport가 있지만 각 열에 필요한 두 개의 참조선이 아니라 한 번에 추가된 모든 열에 대한 참조선으로 끝납니다.
이를 수행하는 쉬운 방법은 열 전환기가 "열 변경 시" 스크립트를 지원하는 경우입니다. 그런 다음 이전 참조 행을 제거하고 변경될 때마다 새 참조 행을 추가할 수 있습니다. 이와 같은 것이 지원되는지에 대한 스크립팅 인덱스 정보를 찾을 수 없습니다.
JMP 버전: 14
has_limits = {"item 1", "item 2", "item 3"};
dist = dt << Distribution(
Continuous Distribution( Column( "item 1" ), Horizontal Layout( 1 ), Always use column properties( 1 ), Vertical( 0 ), Outlier Box Plot( 0 ) ),
Column Switcher( "item 1", has_limits )
);
For( n = 1, n <= N Items( has_limits ), n++,
tempUCL = Col Max( Column( dt, has_limits[n] || "_UCL" ) );
tempLCL = Col Max( Column( dt, has_limits[n] || "_LCL" ) );
Eval(
Eval Expr(
dist << SendToReport(
Dispatch(
{Expr( has_limits[n] )},
"1",
ScaleBox,
{Add Ref Line( Expr( tempUCL ), "Dashed", "Medium Dark Red", "UCL", 1 ), Add Ref Line(
Expr( tempLCL ),
"Dashed",
"Medium Dark Red",
"LCL",
1
)}
)
)
)
);
);JMP 16까지는 열 스위치 핸들러가 추가되지 않은 것 같습니다.

다음은 부분적으로 해당 위치로 이동하는 스크립트입니다.어떤 이유로 축 값이 제거되지만 데이터에 대해 시도해 볼 수 있다면 올바르게 작동하는 방법을 알아낼 수 있을 것입니다.코드는 JMP 14를 사용하여 개발되었습니다.
names default to here(1);
dt = open("$SAMPLE_DATA/blood pressure.jmp");
has_limits = {"bp 8m", "bp 12m", "bp 6m"};
for(i=1,i<=nitems(has_limits),i++,
new column(has_limits[i] || "_UCL", values(matrix(quantile(.75,column(has_limits[i])<<GET values=""></GET>감사합니다. 누락된 축 값을 아직 파악하지 못했습니다. 매우 이상하지만("로딩" 커서도 표시됨) 적어도 올바른 방향으로 나아가는 단계입니다.
해결 방법은 JSL을 실행한 다음 보고서 출력 창의 빨간색 삼각형으로 이동하고 스크립트 저장을 선택하는 것입니다.스크립트 창에 저장한 후 스크립트를 실행하세요.테스트 결과 JMP가 생성한 코드에 X Azis 레이블이 누락된 것으로 나타났습니다.
JMP 지원팀에 버그를 제출했습니다.
작동하는 것으로 보이는 다른 해결 방법은 패딩을 추가하는 것입니다(뭔가 축 상자 위에 푸시되고 있는 것일까요?).

또는 축 설정에서 그래프 프레임 내부의 눈금 표시를 활성화합니다. 하지만 이로 인해 그래프가 약간 이상해 보이고 그리드 선도 활성화하고 싶을 수도 있습니다.

