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