이변 량 플랫폼을 사용하여 불연속 시간 단위에 대한 데이터 플롯을 생성하는 스크립트가 있습니다 (예 : 2021 년 첫째 주에 대한 202101). 사용 된 시간 단위는 협상 할 수 없으며 연속으로 취급되는 경우 올바르게 간격을 두지 않습니다. 202052와 202101 사이의 거리는 202101과 202102 사이의 거리와 동일하지 않지만 이러한 거리는 연속 주와 동일해야합니다. 내 솔루션은 값이 1,2,3, ... 인 "Sequence"열을 만들고이를 202052, 202101, 202102, ....와 쌍을 이루고 "Sequence"열에 값 레이블을 적용하는 것입니다 (1에는 값이 있습니다. 레이블 202052, 2에는 값 레이블 202101이 있고 3에는 값 레이블 202102가 있음) "시퀀스"열을 X에 맞게 Y에서 X로 사용합니다. 이 솔루션은 출력을 저널링 할 때를 제외하고는 아름답게 작동합니다. 값 레이블이 유지되지 않고 저널의 플롯이 값 레이블을 사용하는 대신 시퀀스 열의 원래 값으로 되돌아갑니다. 가끔 값 레이블이 저널로 전송되지만 저장하고 다시 열면 x 축 값이 원래 값으로 되돌아갑니다. 차이점은 저널 (값 레이블이 일시적으로 보존 됨)에 스크립트 또는 ctrl + J를 사용하는 것과 저널에 복사-> 붙여 넣기 (값 레이블이 보존되지 않음)를 사용하는 것입니다.
이 작업을 수행하는 다른 방법을 찾거나 누군가 다른 방법을 제안 할 수 있지만 보고서 창에서 저널로 전송되지 않는 값 레이블이 의도 된 JMP 동작인지 아는 데 더 관심이 있습니다. 이 동작은 향후 JMP 버전에서 변경 될 수 있습니까?
JMP Pro 14.3.0을 사용하고 있습니다. JMP Pro 15.2.1에서도 문제가 발생 함을 확인했습니다. 다음은 문제를 재현하는 예제 스크립트입니다.
// Data Table
dt = New Table( "Label Example",
Add Rows( 6 ),
New Column( "Week", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [202052, 202052, 202101, 202101, 202102, 202102] ) ),
New Column( "Sequence", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 1, 2, 2, 3, 3] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [12, 39, 9, 1, 22, 9] ) ),
New Column( "Group", Character, "Nominal", Set Values( {"A", "B", "A", "B", "A", "B"} ) )
);
week_list = :Week << get values;
sequence_list = :Sequence << get values;
week_list_names = {};
// Build the Value Labels List
For( i = 1, i <= N Items( week_list ), i++,
If( !Contains( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) ),
Insert Into( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) )
)
);
:Sequence << Data Type( Character );
:Sequence << Value Labels( week_list_names );
:Sequence << Data Type( Numeric ) << Modeling Type( Continuous );
value_by_week = Bivariate(
Y( :Value ),
X( :Sequence ),
Fit Where( :Group == "A", Fit Each Value( {Line Color( {212, 73, 88} )} ) ),
Fit Where( :Group == "B", Fit Each Value( {Line Color( {66, 112, 221} )} ) ),
SendToReport(
Dispatch( {}, "Bivariate Fit of Value By Sequence", OutlineBox, {Set Title( "Bivariate Fit of Value By Sequence" )} ),
Dispatch( {}, "1", ScaleBox, {Inc( 1 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) ), Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "2", ScaleBox, {Inc( 10 ), Minor Ticks( 5 ), Label Row( Show Major Grid( 1 ) )} ),
Dispatch( {}, "Sequence", TextEditBox, {Set Text( "Week" )} )
)
);
value_by_week_rep = value_by_week << Report;
my_jrn = New Window( "Test Journal", <<JOURNAL></JOURNAL>안녕 안녕하세요. ,
예제 스크립트를 사용할 때도 동일한 동작이 나타납니다.
그러나 빨간색 삼각형으로 이동하여 새 창에서 재실행을 선택하면 값 레이블을 볼 수 있습니다.
새 창에서 다시 실행
새 창에서 다시 실행 한 후의 결과
건배,
Stan
JMP 15.2에서 오류를 복제했습니다.JMP 16에서 수정 된 것으로 보입니다.
흥미 롭군요! 나는 그것을 시도 할 생각은 없었지만 "새 창에서 다시 실행"도 나에게 적합합니다. JMP 16에서 문제가 해결되어 다행입니다. 설치하기 전까지는 허용 가능한 해결 방법입니다. 공유 해주셔서 감사합니다.