<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
한 데이터 테이블의 열 속성을 다른 데이터 테이블의 '동일한 이름' 열로 복사하는 JSL 스크립트가 있는 사람이 있습니까?
오류 메시지는 새 수식 열에 동일한 테이블에 없는 열이 하나 이상 포함되어 있음을 의미합니다. 수식 값을 계산하는 데 필요한 모든 열이 새 테이블에 있다고 확신합니까?
안녕,
이 비교적 오래된 게시물을 발견하고 내가 하고 있는 스크립트에 솔루션을 적용하려고 시도했지만 디버거에서 다음과 같은 오류 메시지가 나타납니다.
"수식에 이 테이블에 다시 매핑할 수 없는 다른 테이블의 열 또는 테이블 변수에 대한 참조가 있습니다."
내 상황은 단일 열의 속성만 복사하려고 한다는 점에서 좀 더 간단합니다.
colProps = Column( dt, "Response Predictor" ) << Get Column Properties;
Column( dtparms, "Formula" ) << Add Column Properties( colProps );
내가 뭘 잘못하고 있는지 알아?
요한
당신의 도움을 주셔서 감사합니다. 그게 트릭을 했어요! 내 새 테이블은 항상 '마스터'의 하위 집합이며 '시도' 문은 이 문제를 해결합니다.
루
"빠른 수정": 루프의 두 번째 줄을 내부에 넣습니다. 노력하다() 새 테이블에 열이 누락된 경우 오류를 방지하기 위해(여기서 열 순서는 중요하지 않음)
Try( Column( nt, colNames[i] ) << Add Column Properties( colProps ) );
도와주셔서 감사합니다. 두 테이블을 반복하려고 했지만 올바른 명령이 없었습니다.
두 테이블이 동일한 순서로 동일한 열을 가지고 있는 한 이것이 작동하는 것처럼 보입니다. 이 올바른지?
루
루,
다음은 열 이름이 동일하다고 가정하고 한 테이블에서 다른 테이블로 열 속성을 복사하는 방법을 보여줍니다.
dt = Open( "$SAMPLE_DATA\Tiretread.jmp" );
colNames = dt << Get Column Names( String );
nt = New Table( "New Tires",
New Column( "ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "HARDNESS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SILICA", Numeric, Continuous, ),
New Column( "SILANE", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SULFUR", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula HARDNESS", Numeric, Continuous, Format( "Best", 10 ) )
);
For( i = 1, i <= N Cols( dt ), i++,
colProps = Column( dt, colNames ) << Get Column Properties;
Column( nt, colNames ) << Add Column Properties( colProps );
);