값의 마지막 3자를 기준으로 한 주문 수준안녕 -
오름차순으로 플롯의 x 축 값 순서를 갖고 싶습니다. 문제는 이러한 값이 영숫자 문자열이고 마지막 3자만 순서를 나타내는 문자라는 것입니다.
예를 들어 플롯에서 왼쪽에서 오른쪽으로 다음 순서로 보고 싶습니다.
1: YRFCA1
2: YRTCB1
3: YRACB2
4: YRTCC0
행 및 값 순서 수준은 다른 방식으로 데이터를 정렬했습니다.
위 값의 하위 문자열을 수행하고 주문하기 전에 마지막 3자에만 집중할 수 있지만 플롯에 전체 6자 문자열을 표시하는 방법을 모르겠습니다.
JSL에서 이것을 구현할 수 있는 방법에 대한 의견을 주셔서 감사합니다.
감사!
스크립팅Re: 값의 마지막 3자를 기준으로 주문 수준또한 JSL을 통해 숫자가 아닌 열의 순서 지정을 사용하도록 JMP를 "강제"할 수 있지만 이는 기능이 아니라 버그일 수 있으므로 사용하기에 약간 위험할 수 있습니다.
Names Default To Here(1);
dt = New Table("table",
Add Rows(5),
New Column("Col", Character, "Nominal", Set Values({"YRFCA1", "YRTCB1", "YRACB2", "YRTCC0", "YAAAA4"})),
New Column("order", Character, "Nominal", Formula(Right(:Col, 3)))
);
dt = Graph Builder(Variables(X(:Col, Order By(:order, Ascending))), Elements(Points(X, Legend(34))));
두 개의 x축 레이블 행을 사용하여 그래프 빌더에서 직접 수행할 수도 있습니다.

그런 다음 원하는 경우 x축 설정을 연 다음 다른 레이블 설정을 일부 수정하여 숨길 수 있습니다(이 경우 순서).

그리고 당신은 끝납니다 :

그런 다음 x축을 변경하여 / 순서를 제거할 수 있습니다.
Re: 값의 마지막 3자를 기준으로 주문 수준두 가지 방법 모두 매우 유용합니다. Craige와 ZF에게 감사드립니다!
Re: 값의 마지막 3자를 기준으로 주문 수준멋진!
Re: 값의 마지막 3자를 기준으로 주문 수준마지막 3자로 테이블을 정렬한 다음(먼저 마지막 3자의 하위 문자열 가져오기) 긴 텍스트 열 "value ordering"의 속성을 설정합니다.
Names default to here(1);
dt=New Table( "order by another col",
Add Rows( 4 ),
New Column( "Label",
Character,
"Nominal",
Set Values( {"YRFCA1", "YRTCB1", "YRACB2", "YRTCC0", "YAAAA4"} )
),
New Column( "Last 3",
Character,
"Nominal",
Formula( Right( :Label, 3 ) ),
),
);
dt << sort(replace table(1), by(:Last 3));
values=dt:Label << get values;
dt:Label << set property ("Value Ordering", values);
Re: 값의 마지막 3자를 기준으로 주문 수준아마도 이와 같은 것일 것입니다. GUI에서 변환 열을 만든 다음 저장했습니다. 변환할 변수를 마우스 오른쪽 버튼으로 클릭하고(열 선택기에서) 변환->수식을 선택합니다. 그런 다음 새 변환 변수를 그래프 빌더로 끌어다 놓습니다.
Graph Builder(
Size( 893, 823 ),
Show Control Panel( 0 ),
Variables(
X( :name ),
Y(
Transform Column(
"Transform[name]",
Character,
Nominal,
Formula(
Right( :name, 3 ) || "_" || Left( :name, Length( :name ) - 3 )
)
)
)
),
Elements( Points( X, Y, Legend( 8 ) ) )
);
Last three letters moved to front of nameLast three letters moved to front of name마지막 세 글자가 이름 앞으로 이동했습니다.