<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
5 개의 숫자 열이 있습니다. 5 열의 각 행에 최대 값을 반영하는 새로운 열을 작성해야합니다. 값을 반환하는 대신 각 행에 해당 열 이름을 입력해야합니다.
감사
샘
안녕 샘,
가장 기본적인 수준에서 다음을 시도하십시오.
dt = 새 테이블 ( "데이터 테이블" ,
새 열 ( "X1" , 공식 ( 무작위 제복 () ) ) ,
새 열 ( "X2" , 공식 ( 무작위 제복 () ) ) ,
새 열 ( "X3" , 공식 ( 무작위 제복 () ) ) ,
새 열 ( "X4" , 공식 ( 무작위 제복 () ) ) ,
새 열 ( "X5" , 공식 ( 무작위 제복 () ) ) ,
행 추가 ( 100 )
) ;
dt << 새 열 ( "최대 Col Name" ,
캐릭터 ,
공식 (
만약 (
: X1 == 최고 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , "X1" ,
: X2 == 최고 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , "X2" ,
: X3 == 최고 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , "X3" ,
: X4 == 최고 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , "X4" ,
: X5 == 최고 ( : X1 , : X2 , : X3 , : X4 , : X5 ) , "X5" ,
)
)
) ;
이것에서 당신은 그것을 더 일반화 할 수 있습니다.
한 행에 최대 값과 같은 값이있는 경우이 수식은 if 문에서 자신의 위치에 따라 열을 선호합니다 (좋음과 나쁨).
열 수식을 사용하여 수행 할 수 있지만 작은 JSL 스크립트를 사용하면 더 쉽습니다. 마지막 줄의 루프는 가장 높은 값을 가진 열을 식별하고 그 이름을 새로운 열 "max"에 넣습니다. 여러 열의 최대 값이 같으면 첫 번째 인스턴스가 선택됩니다.
dt = 현재 데이터 표 () ;
칼 = dt << getcolumn 이름 ( 숫자 ) ;
뉴 콜 = dt << 새 열 ( "최대" , 캐릭터 ) ;
각 행에 대해 ( 뉴 콜 [] = 칼 [ Loc Max ( 매트릭스 ( 칼 ))]) << 이름을 얻다 ) ;