JMP 기본 - 열 값을 할당하는 방법안녕하세요, 저는 JMP를 처음 사용하는 사람입니다. 나는 정사각형의 좌표를 정의하는 데이터 세트를 가지고 있습니다. X 열에는 x 방향 좌표가 포함되고 Y 열에는 y 방향 좌표가 포함됩니다. 모서리 B, C, D, E의 이름을 시계 방향으로 지정하고 데이터 테이블에서만 사각형 A의 중심을 지정하고 그래프/그림을 만들고 싶지 않습니다.
누구든지 JSL 스크립트를 도와줄 수 있나요?
Re: JMP 기본 - 열 값을 할당하는 방법

귀하가 제공한 새 데이터는 제가 제공한 원본 스크립트를 만들 때 설정한 가정을 충족하지 않습니다. 나는 극단값을 조사하여 정의할 수 있는 X 및 Y 좌표와 중심점의 경우 실제 중심(평균)을 사용하여 정사각형을 가정했습니다. 또한 모서리가 시계 방향 순서(B,C,D,E)로 표시되었음을 표시했습니다. 위 그래프에서 볼 수 있듯이 이는 더 이상 사실이 아닙니다. 따라서 제가 볼 수 있는 유일한 해결책은 모서리 값을 하드코딩하는 것입니다.
Names Default To Here( 1 );
dt = Current Data Table();
If(
Col Number( dt:x1 ) == 5,
dt << New Column( "Corners", Character, values( {"B", "C", "A", "D", "E"} ) ) //
, // Else
Col Number( dt:x1 ) == 6,
dt << New Column( "Corners",
Character,
values( {"B", "C", "A-Bottom", "A-Top", "D", "E"} )
)
);
Re: JMP 기본 - 열 값을 할당하는 방법빠른 응답에 감사드립니다! 나는 솔루션 1을 더 좋아하고 그것이 내가 찾던 것입니다.
한 단계 더 나아가려면 내 데이터가 다음과 같으며 2개의 서로 다른 시나리오에 대해 2개의 조건문을 정의해야 합니다.
1. 데이터가 정사각형 중앙에 A 모서리가 1개만 있는 경우
2. 데이터 중앙에 2개의 점이 있는 경우 A-Top 및 A-bottom(동일한 X 좌표 사용)으로 호출합니다.
데이터 테이블에 존재하는 데이터에 따라 아래와 같이 모서리 이름을 순서대로 지정하는 스크립트를 작성하려고 합니다.
| X1 | Y1 | 코너 | Y1 | Y2 | 코너 |
| -70 | 29102 | 비 | -25 | 26338 | 비 |
| 1569년 | -18 | 씨 | 1615년 | -18 | 씨 |
| 9202 | 15299 | ㅏ | 9264 | 9272 | A-바닥 |
| 14784 | 30692 | 디 | 9264 | 18563 | A-탑 |
| 16424 | 1572년 | 이자형 | 15585 | 27929 | 디 |
| | | | 17226 | 1572년 | 이자형 |
스크립트를 공유해 주시면 도움이 될 것 같습니다.
감사해요!
Re: JMP 기본 - 열 값을 할당하는 방법실제로 무엇을 찾고 있는지 잘 모르겠지만 아래 표가 그것이면 표 다음의 스크립트가 코너 이름을 생성합니다.

Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Corner Name", character );
dt:Corner Name[dt << get rows where( :x == Col Min( :x ) & :y == Col Min( :y ) )] = "B";
dt:Corner Name[dt << get rows where( :x == Col Min( :x ) & :y == Col Max( :y ) )] = "C";
dt:Corner Name[dt << get rows where( :x == Col Max( :x ) & :y == Col Max( :y ) )] = "D";
dt:Corner Name[dt << get rows where( :x == Col Max( :x ) & :y == Col Min( :y ) )] = "E";
dt:Corner Name[dt << get rows where( :x == Col Mean( :x ) & :y == Col Mean( :y ) )] = "A";
// OR
dt << New Column( "Corner Name 2", character );
dt:Corner Name 2[1] = "B";
dt:Corner Name 2[2] = "C";
dt:Corner Name 2[3] = "D";
dt:Corner Name 2[4] = "E";
dt:Corner Name 2[5] = "A";
// OR
dt << New Column( "Corner Name 3", character, values({"B","C","D","E","A"}) );