고유 순위열의 순위를 고유하게 지정하기 위해 새 열을 계산하고 싶습니다. 아래는 내가 달성하려는 출력 예입니다. 그러나 JSL 순위 공식을 사용하는 것은 내가 원하는 것을 달성하는 데 도움이 되지 않습니다. 누구든지 저에게 조언해 주시겠습니까?
내가 사용하는 공식은 Col Rank(:Label)입니다.
| 상표 | 계급 | 내가 원하는 것 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,최대 | 1 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,최대 | 2 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,최대 | 삼 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,최대 | 4 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,최대 | 5 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,최대 | 6 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,최대 | 7 | 삼 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,최대 | 8 | 삼 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,최대 | 9 | 삼 |
스크립팅Re: 고유 순위Jim & MS에게 감사드립니다. 그것은 훌륭하게 작동합니다!
Re: 고유 순위열 수식을 원하면 이것이 작동합니다. 정렬과 무관합니다.
Local( {L = Associative Array( :Label ) << get keys}, Loc( L, :Label ) )
열 수식 없이 JSL에서 동일한 접근 방식을 사용할 수 있습니다.
dt = Current Data Table();
dt << New Column( "Rank Unique", continuous );
L = Associative Array( :Label ) << get keys;
For Each Row( :Rank Unique = Loc( L, :Label ) );
Re: 고유 순위dt = current data table();
dt:Rank << delete formula;
Re: 고유 순위안녕하세요 짐,
충고에 감사하다. #2 솔루션의 경우. 수동으로 수행하는 대신 JSL을 사용하여 수식을 제거하는 방법은 무엇입니까?Re: 고유 순위이 작업을 수행하는 몇 가지 방법이 있습니다....(이 이른 아침에 생각할 수 있음)
- 요약 테이블을 사용하여 순위 만들기
- 실행 테이블==>요약
- 라벨 열을 기준으로 그룹화
- 출력 데이터 테이블이 낮은 값에서 높은 값으로 정렬되었다고 가정하고 "순위"라는 새 열을 만들고 공식을 지정합니다........Row()
- Tables==>Update를 실행하여 요약 테이블을 원래 테이블에 다시 조인하고 레이블 열과 일치시킵니다.
- 새 순위 수식 열 만들기
- 레이블별로 데이터 정렬
- 수식을 사용하여 Rank라는 새 열을 만듭니다.
If( Row() == 1,
count = 1,
If( :Label != Lag( :Label ),
count
++)
);
count;
- 열 정보로 이동하여 열이 생성된 후 제거해야 합니다.그 이유는 수식이 데이터의 순서와 데이터의 완전성을 기반으로 하기 때문에 데이터가 변경되면(정렬 등) 수식이 다시 실행되고 순위가 변경될 수 있기 때문입니다.