그룹별 ColumnRank?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />여보세요,
«ColumnRank by…»(그룹)에 해당하는 수식을 작성하는 방법이 있습니까? 저는 일반적으로 배포 플랫폼(«그룹별» 옵션 포함)을 사용하고 해당 목적을 위해 정적 열에 순위를 저장합니다. 하지만 이번에는 동적 열(계산됨)이 필요합니다.
감사,
클로드
Re: 그룹별 ColumnRank?모두 안녕
Col Rank 함수는 이제 원래 요청된 대로 BY 변수를 지원합니다. JMP 13 기간에 전체 지원이 추가된 것 같으므로 해당 버전이나 최신 버전을 사용하는 경우 이 작업을 수행할 수 있어야 합니다.
온라인 JMP 도움말은 다음과 같은 몇 가지 세부 정보와 타이브레이크 옵션을 제공합니다.
https://www.jmp.com/support/help/en/15.1/#page/jmp/statistical-functions-2.shtml?os=win&source=application#ww2752649
나는 이것이 오래된 스레드라는 것을 알고 있지만 이 정보를 찾고 있는 다른 사람이 이 정보를 사용할 수 있기를 원했습니다.
건배!
오드리
Re: 그룹별 ColumnRank?고마워 론.
마지막으로 원본 업데이트 스크립트를 수정하기로 했습니다. 3단계 절차입니다.
- 첫 번째 단계는 (하드 코드 열로 인해) 새 테이블을 생성하는 원래 업데이트(ODBC 데이터 원본)입니다.
- 그런 다음 두 번째 스크립트 단계는 내 기본 테이블을 이 새 테이블의 데이터로 업데이트하는 것입니다.
- 마지막 단계는 새 테이블을 닫는 것입니다.
이렇게 하면 필요한 만큼 새 하드 코드 열을 만들 수 있습니다(스크립트를 수정할 필요가 없음).
클로드
Re: 그룹별 ColumnRank?안녕하세요 클로드.벨라반스 ,
업데이트에 문제가 있는 경우 업데이트 직전에 하드 코딩된 열을 삭제하고 업데이트 직후 다시 도입하기만 하면 됩니다.
와 같은:
하드 코딩된 열을 삭제합니다.
업데이트;
하드 코딩된 열을 다시 계산합니다.
베스트,
론
Re: 그룹별 ColumnRank?고마워 론. 문제를 해결하는 기발한 방법입니다.
아쉽게도 계산 열을 거쳐야 하기 때문에 스크립트를 사용할 수 없습니다. 실제로 하드 데이터가 있는 열을 추가하면 DNS/ODBC를 통해 내 데이터베이스가 있는 내 테이블을 업데이트하면 단순히 데이터를 바꾸는 대신 새 테이블이 생성됩니다.
클로드
Re: 그룹별 ColumnRank?안녕하세요 클로드.벨라반스
나도 "라는 생각에 불만이다. 인연은 임의로 끊는다" . 최소한 일반 서수 변수에서 발생하는 것과 같은 순위를 동점으로 변경하는 옵션이 있어야 합니다.
테이블을 정렬하지 않고 "순위를 매기는" 다른 방법이 있습니다. 제 경우에는 정렬이 성가신 일입니다. 동점에 동일한 값을 제공합니다.
베스트,
론
여기에 기본 이름 ( 1 ) ;
// 데이터 소스 정의
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
// 순위에 대한 열 추가
dt << 새 열 ( "계급" , 숫자 , 서수 ) ;
//// 옵션 1: 열 기준 순위 지정
// 변수 수준별 목록 추출
byvarlist = 연관 배열 ( dt : 나이 ) << 열쇠를 얻다 ;
// 각 연령 그룹에 대해 별도의 키 순위 목록을 생성합니다.
~을 위한 ( ib = 1 , ib <= 나이트 ( byvarlist ) , ib ++,
평가 ( 구문 분석 ( "높이 목록" || 숯 ( byvarlist [ ib ]) || " = 연관 배열( " || 숯 ( dt : 키 [ dt << 행 가져오기 ( : 나이 == byvarlist [ ib ])]) || " ) << 키 가져오기" )) ;
) ;
~을 위한 ( IC = 1 , IC <= nrows ( dt ) , IC ++,
: 계급 [ IC ] = 평가 ( 구문 분석 ( "loc( 높이 목록 " || 숯 ( dt : 나이 [ IC ] ) || " ," || 숯 ( dt : 키 [ IC ]) || " ) " )) ;
) ;
//작동하는지 확인
dt << 종류 (
에 의해 ( : 나이 , : 키 ) ,
주문하다 ( 오름차순 , 오름차순 )
) ;
////
//// 옵션 2: 순위(기준 열 없음)
// 높이에 대한 고유 값을 목록으로 가져옵니다.
높이 목록 = 연관 배열 ( dt : 키 ) << 열쇠를 얻다 ;
을 위한 ( 나 = 1 , 나 <= N 행 ( dt ) , 나 ++,
dt : 계급 [ 나 ] = 위치 ( 높이 목록 , : 키 [ 나 ] ) ;
) ;
//작동하는지 확인
dt << 종류 (
에 의해 ( : 키 ) ,
주문하다 ( 오름차순 )
) ;
Re: 그룹별 ColumnRank?안녕 제리,
괜찮아요. 언젠가는 소원이 이루어질 날이 오게 되어 기쁩니다!
다시 한 번 감사드립니다.
클로드
Re: 그룹별 ColumnRank?혼란을 드려 죄송합니다. 저는 이것을 보고 있을 때 제 시스템에서 어떤 버전이 활성화되어 있는지 주의를 기울이지 않은 것 같습니다. 그 결과 "향후" JMP 버전에 대해 계획된 기능의 "승인되지 않은" 미리 보기를 얻게 되었습니다.
Re: 그룹별 ColumnRank?안녕하세요 MS,
음, 이것은 매우 흥미 롭습니다. 해결 방법. 그것은 나에게 열려있다 완전히 새로운 영역(Eval, Formula 등).
"ColRank by…"라는 새로운 기능이 포함된 향후 JMP 버전을 준비하고 있습니다.
제 질문에 답변해 주셔서 감사합니다.
클로드
Re: 그룹별 ColumnRank?Col Rank()에 대한 선택적 인수는 현재 JMP 버전에서 지원되지 않습니다.
진정으로 동적으로 작동하는 좋은 해결 방법이 없습니다. 아래 예의 열 수식은 변수가 그룹 내에서 정렬된 경우에만 작동해야 합니다.
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
dt << 종류 ( ~에 의해 ( : 나이 , 무게 ) , 테이블 교체 ( 1 )) ;
에프 = 만료 (
평가 ( 평가 만료 ( 열 번호 ( : 무게 , 열 () <= 만료 ( 열 ()) ,: 나이 )))
) ;
dt << 새 열 ( "연령별 체중 순위" , 숫자 , 공식 ( 이름 만료 ( 에프 ))) ;
Re: 그룹별 ColumnRank?안녕 제리,
더 설명해 주시겠습니까? 설명서는 이 세 번째 주장에 대해 매우 미니멀합니다.
콜 랭크
가장 낮은 값인 1부터 그렇지 않은 값까지 각 행의 값의 순위를 매깁니다. ‐ 가장 높은 값에 대한 열이 누락되었습니다. 인연은 임의로 끊는다 .
나는 그것이 의미하는 것과 그것을 사용하는 방법을 이해하지 못합니다.
도와주셔서 감사합니다!
클로드
Re: 그룹별 ColumnRank?안녕 클로드,
Col Rank(column, ) 함수는 원하는 것을 수행합니다. 동점 끊기의 기본값은 행 순서이지만 다른 선택을 허용하는 선택적 세 번째 인수가 있습니다. 도움이 되었기를 바랍니다.
-실내 변기