두 개의 개별 데이터 테이블과 관련된 작업은 어떻게 작동합니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />예를 들어 나누고 싶을 때 데이터 테이블 1의 열 1의 각 값 ~에 의해 데이터 테이블 2의 열 2의 각 값 . 그렇게 하는 데 문제가 있는 것 같고 왜 이 오류가 "범위가 지정된 데이터 테이블 액세스에는 'dtbinsum:column', dtbinsum:column/*###의 액세스 또는 평가에서 데이터 테이블 열 또는 변수가 필요합니다{1}가 표시되는지 궁금합니다. */(Nrows ) /*###*/"
내 스크립트의 일부는 다음과 같습니다.
//스크립트 시작
dt = 현재 데이터 테이블();
dtbinsum = dt << 요약(
그룹( :Data File, :Lot id, :SBIN ),
Freq( "없음" ),
가중치( "없음" ),
통계 열 이름 형식( "열" ),
원본 데이터 테이블에 링크( 0 )
);
dtbinsum<< Select Where( dtbinsum:sbin != 1 );
dtbinsum<< 행 삭제;
dtbinsum2 = dt << 요약(
그룹( :Lot id ),
N(:SBIN),
Freq( "없음" ),
가중치( "없음" )
);
수율 = {};
for(i=0, i
yield_temp = (dtbinsum:column(Nrows ))/(dtbinsum2:열(N(SBIN) ));
Insert Into(yield,yield_temp);
);
쇼(수율);
//스크립트 끝
표시되는 오류는 말할 것도 없고 내 방식이 아마도 가장 효율적인 방법이 아니라는 것을 알고 있지만 이에 대한 해결책이 있는 사람이 있습니까?
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?이것은 다음 오류를 수신하기 전에 얼마나 멀리 얻었는지입니다.
이름 미확인: " , Name(" ")/*###*/의 액세스 또는 평가에서
암호:
dt1 = 데이터 테이블 ( "메인 테이블" ) ;
dt2 = 데이터 테이블 ( "REF 테이블 분할" ) ;
열 = dt1 << 열 이름 가져오기 ( 끈 ) ;
~을 위한 ( 나 = 2 , 나 <= N 열 ( dt1 ) , 나 ++,
one_column = 열 [ 나 ] ;
값 = ( 열 ( dt1 , one_column ) << getValues )
( 열 ( dt2 , one_column ) << getValues ) ;
dt1 << NewColumn ( one_column , 숫자 , 가치 ( 값 )) ;
) ;
스크립트는 루프에서 한 번 회전하여 올바른 값을 가진 하나의 열을 생성합니다.
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?for-loop에서 작동하도록 수식을 수정하는 방법에 대한 제안을 주시겠습니까?
스크립트와 동일한 작업을 수행해야 하지만 모든 열에 대해 새 테이블의 이름은 획득한 열의 헤더여야 합니다. + 몫
dt1 = 데이터 테이블("메인 테이블");
dt2 = 데이터 테이블("참조 테이블");
열 = dt << 열 이름 가져오기 ( 끈 ) ;
for ( i = 2, i <= N 열(myTable), i++,
// 기본 테이블의 열에 대한 다른 버전의 참조를 시도했지만 제대로 작동하지 않습니다.
값 = ( 열 ( dt1 , 열(i) ) << getValues )
( 열 ( dt2 , 열(i ) ) << getValues ) ;
dt1 << NewColumn ( 열 , 숫자 , 마디 없는 , 가치 ( 값 )) ;
);
BR
앤더스
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?Ian에게 감사합니다. 이제 요소별 작업을 지적했으므로 이제 많은 의미가 있습니다.
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?( 열 ( dt1 , "분자" ) << getValues ) 지정된 열의 값을 행 벡터(이 예에서는 v1과 동일)에 넣습니다. ( 열 ( dt2 , "분모" ) << getValues ) 다른 열(실제로는 v2와 동일한 행 벡터임)에 대해서도 동일한 작업을 수행합니다. 그런 다음
연산자는 요소별 나누기를 요청합니다. 즉, 결과 벡터의 첫 번째 요소를 얻기 위해 첫 번째 벡터의 첫 번째 요소를 두 번째 벡터의 첫 번째 요소로 나눕니다(다른 요소의 경우에도 마찬가지임).
'도움말 > 설명서 > 스크립팅 가이드' 7장의 '매트릭스' 섹션을 살펴보십시오.
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?감사합니다 Ian, 그것은 저에게 효과가 있지만 특히 이 줄에 대해 물어봐도 될까요?
값 = ( 열 ( dt1 , "분자" ) << getValues )
( 열 ( dt2 , "분모" ) << getValues ) ;
^^
내가 JSL을 이해하는 방식은 열을 식별하는 데 도움이 되는 콜론입니다. 이와 같이 사용하면 어떻게 작동합니까?
Re: 두 개의 개별 데이터 테이블이 관련된 작업은 어떻게 작동합니까?다음과 같을 수 있습니다.
NamesDefaultToHere ( 1 ) ;
// 두 개의 테이블을 만듭니다.
v1 = 제이 ( 10 , 1 , RandomInteger ( 1 , 5 )) ;
v2 = 제이 ( 10 , 1 , RandomInteger ( 1 , 5 )) ;
dt1 = 새 테이블 ( "1 번 테이블" , NewColumn ( "분자" , 숫자 , 서수 , 가치 ( v1 ))) ;
dt2 = 새 테이블 ( "표 2" , NewColumn ( "분모" , 숫자 , 서수 , 가치 ( v2 ))) ;
// 표 1에 몫 열 추가
기다리다 ( 삼 ) ;
값 = ( 열 ( dt1 , "분자" ) << getValues )
( 열 ( dt2 , "분모" ) << getValues ) ;
dt1 << NewColumn ( "몫" , 숫자 , 마디 없는 , 가치 ( 값 )) ;