JSL을 사용하여 여러 열에서 상위 5개의 가장 높은 값 셀을 선택하고 색상을 지정하는 방법전문가 여러분, 안녕하세요.
JSL을 사용하여 여러 열에서 상위 5개 최고 값 셀을 어떻게 선택하고 색상을 지정합니까?
예:
Type_A 열의 모든 셀에서 Type_D까지(이러한 열 이름에는 "_"가 포함되어 있다는 점에서 유사함)
상위 5개 최고 값 셀을 선택하고 노란색으로 색칠하고 싶습니다.
"Select Where" 기능은 2개의 열을 비교하는 데에만 적용 가능한 것 같습니다.
예상되는 결과는 다음과 같습니다.
0.14, 0.12,0.11,0.1, 0.9는 상위 5개 최고 값 셀입니다.

감사합니다.
저는 JMP 17.2를 사용하고 있습니다.
자동화 및 스크립팅Re: JSL을 사용하여 많은 열에서 상위 5개의 가장 높은 값 셀을 선택하고 색상을 지정하는 방법관계를 어떻게 처리하고 싶나요?
Re: JSL을 사용하여 많은 열에서 상위 5개의 가장 높은 값 셀을 선택하고 색상을 지정하는 방법검색하려는 모든 열의 열 이름을 가져옵니다.
행 번호가 포함된 새 열을 추가합니다.
검색하려는 모든 열을 쌓아보세요. 행 열을 유지해야 합니다.
누적된 데이터 테이블을 데이터 열의 내림차순으로 정렬합니다.
정렬된 테이블의 처음 5개 행을 반복하고 레이블 열(원본 테이블의 열 이름)과 행 열을 기반으로 원본 테이블의 셀 색상을 설정합니다.
쌓이고 정렬된 데이터 테이블 삭제
원본 데이터 테이블에서 행 열을 삭제합니다.
Re: JSL을 사용하여 많은 열에서 상위 5개의 가장 높은 값 셀을 선택하고 색상을 지정하는 방법안녕하세요 @jthi 님 ,
=Top(5, column("Type_A"):column("Type_D) << Color Cell (3);
여기서 5는 유형 A 열에서 유형 D 열까지의 상위 값 수를 나타냅니다.
@txnelson 솔루션을 사용해 보겠습니다.
감사해요 !
Re: JSL을 사용하여 많은 열에서 상위 5개의 가장 높은 값 셀을 선택하고 색상을 지정하는 방법행렬을 사용하는 옵션이 있습니다(Jim이 제안한 대화형 솔루션이 훨씬 이해하기 쉽고 제 마음에도 가장 먼저 떠오른 아이디어였습니다).
Names Default To Here(1);
// This table shows how this will behave with ties
// dt = Open("$SAMPLE_DATA/2D Gaussian Process Example.jmp");
// cols_of_interest = {"X1", "X2"};
dt = Open("$SAMPLE_DATA/Pogo Jumps.jmp");
cols_of_interest = {"Yat", "Yee", "Sam"};
m = dt[0, cols_of_interest];
v = Shape(m, N Items(m));
r = Ranking(v); // let Ranking decide our top5
idx = Loc(r > N Items(m) - 5);
vals = J(1, N Items(m), .);
vals[idx] = 1;
vals = Shape(vals, N Items(m) / N Items(cols_of_interest));
For(i = 1, i <= N Cols(vals), i++,
rows_to_color = Loc(vals[0, i]);
Column(dt, cols_of_interest[i]) << Color Cells("Yellow", rows_to_color)
);
Write();
포고 점프.jmp - Yat, Yee, Sam

2D 가우스 프로세스 예제.jmp - X1, X2(연결된 동작 참고)
