구문: ID로 인덱스 열을 생성하는 방법JMP 커뮤니티 안녕하세요.
ID 열로 행을 인덱싱하는 열을 만들려고 합니다.
다른 스크립팅 언어에서는 다음 줄을 사용하여 이 작업을 수행합니다.
ID별: gen IDIndex = _n
ID별: gen IDCount = _N
다음을 수행할 수 있지만 전체 테이블을 인덱싱하고 계산합니다.
New Column( "IDIndex", formula( Row() ) );
New Column( "IDCount", formula( N Row() ) );
이것에 대한 조언이 좋을 것입니다!
진심으로,
| ID |
아이디인덱스 |
ID카운트 |
|---|
| 444 |
1 |
4 |
| 444 |
2 |
4 |
| 444 |
삼 |
4 |
| 444 |
4 |
4 |
| 333 |
1 |
삼 |
| 333 |
2 |
삼 |
| 333 |
삼 |
삼 |
Re: 구문: ID로 인덱스 열을 생성하려면 어떻게 해야 합니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />MS에게 감사합니다. 공유한 명령은 정렬과 독립적으로 작동합니다.
좋은 하루 되세요!
Re: 구문: ID로 인덱스 열을 생성하려면 어떻게 해야 합니까?아래 수식은 ID 열의 초기 정렬과 독립적으로 IIndex에 대해 작동한다고 생각합니다.
합계( :ID[인덱스( 1, 행() )] == :ID )
Re: 구문: ID로 인덱스 열을 생성하려면 어떻게 해야 합니까?Jeff가 정확하고 IDIndex의 수식이 이전 정렬에 의존한다는 점만 추가하겠습니다.
나중에 테이블을 다시 정렬해야 하는 경우 평가를 억제하거나 삭제해야 합니다.
column (dt, "IDIndex") << 억제 평가( true );
또는:
column (dt, "IDIndex") << 수식 삭제;
정렬하지 않고 열 IDCount를 생성하려면 테이블 요약 옵션을 사용할 수 있습니다.
dt << 요약(그룹( :ID );
론
Re: 구문: ID로 인덱스 열을 생성하려면 어떻게 해야 합니까?완벽하게 작동했습니다!
빠른 답장을 보내 주셔서 감사합니다.
좋은 하루 보내세요
매트
Re: 구문: ID로 인덱스 열을 생성하려면 어떻게 해야 합니까?수식에서 ID 값을 확인하여 이전 행에서 변경되었는지 확인하고 변경된 경우 인덱스를 재설정해야 합니다.
다음 공식을 사용해 보세요.
If(:ID != Lag(:ID, 1) | Row() == 1, 1, Lag(:IDIndex, 1) + 1)
귀하의 ID 개수 열은 IDIndex를 사용하여 해당 값을 얻습니다.
열 최대값( :IDIndex, :ID )
Col Maximum 함수의 두 번째 인수는 By 변수입니다.
도움이 되길 바랍니다!
-제프