다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가안녕,
안녕하세요, JSL 스크립트에 대해 의문이 있습니다(아주 새로운 것입니다!).
테이블 A와 테이블 B라는 두 개의 데이터 파일이 있습니다.
표 A:-
표 B:-

에서 값을 추가하고 싶습니다. 테이블 B 열 이름 "오프셋" 에게 테이블 A의 열 그룹 "테스트"의 각 행 값이 추가된 새 데이터 테이블 파일을 생성합니다.
PS- 테이블 A 파일에 100개 이상의 열이 있습니다. for 루프를 사용하여 모든 행과 열을 반복하려면 어떻게 해야 합니까?
여기 내가 시작하려고 한 것이 있습니다. 이것에 대한 아이디어나 더 효율적인 방법이 있습니까?
</CODE></PRE><PRE class="language-jsl"><CODE>Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
For Each Row(
dt:Current = dt:Current + dtOffset:Offset[1];
dt:Voltage = dt:Voltage + dtOffset:Offset[2];
dt:Resistance = dt:Resistance + dtOffset:Offset[3];
dt:Inductance = dt:Inductance + dtOffset:Offset[4];
dt:Capacitance = dt:Capacitance + dtOffset:Offset[5];
dt:Power = dt:Power + dtOffset:Offset[6];
dt:Temperature = dt:Temperature + dtOffset:Offset[7];
dt:Humidity = dt:Humidity + dtOffset:Offset[8];
dt:Pressure = dt:Pressure + dtOffset:Offset[9];
dt:Suseptance = dt:Suseptance + dtOffset:Offset[10];
);
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names(string);
For( i = 1, i <= N Items( colList ), i++,
// Find the offset value in the dtOffset(Table B) data table
// Because the column name from Table A may not have an offset
// in Table B that has to be accounted for
theRow = dtOffset << get rows where( dtOffset:Tests == colList[i] );
show(i,nrows(therow));
// If no rows are returned, no offset was found
If( N Rows( theRow ) == 1,
offset = dtOffset:Offset[theRow[1]];
For( k = 1, k <= N Rows( dt ), k++,
Column( dt, i )[k] = Column( dt, i )[k] + offset
);
);
</CODE></PRE><P><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687" target="_blank">@txnelson</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/6657" target="_blank"> @ih</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/14366" target="_blank"> @jthi</A><A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/6878" target="_blank"> @제프_퍼킨슨</A></P><P> </P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-412679" slang="en-US" mode="NONE"><LINGO-LABEL>해석학</LINGO-LABEL><LINGO-LABEL>스크립팅</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-413205" slang="en-US" mode="NONE">Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.</LINGO-SUB><LINGO-BODY id="lingo-body-413205" slang="en-US" mode="NONE"><P>글쎄요, 저 뿐만이 아닙니다. 예전에 비슷한 글을 본적이 있어서</P></LINGO-BODY><LINGO-SUB id="lingo-sub-413030" slang="en-US" mode="NONE">Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.</LINGO-SUB><LINGO-BODY id="lingo-body-413030" slang="en-US" mode="NONE"><P>커뮤니티 토론 포럼은 JMP 스크립트를 작성하기 위해 가는 곳이 아닙니다!시간을 들여 JSL을 배우고 토론 포럼을 사용하여 이해하지 못하는 특정 문제에 대해 도움을 받아야 합니다.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-413029" slang="en-US" mode="NONE">Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.</LINGO-SUB><LINGO-BODY id="lingo-body-413029" slang="en-US" mode="NONE"><P>코드가 실행될 때의 로그 파일 항목은 다음과 같습니다.</P>
<PRE>not enough arguments in access or evaluation of 'For' , For/*###*/(i = 1 ; N Rows( dt ) ; i++, Column( dtOffset )[i] = dt:colList[i]
+dtOffset:Offset[i])
at line 7 in Script 5.jsl</PRE>
<P>이것이 말하는 것은 사용 중인 For() 함수 구문이 올바르지 않다는 것입니다.</P>
<P>올바른 정의는 Scripting Index 또는 Scripting Guide에서 찾을 수 있습니다.또한 For() 함수의 구현과 내가 제공한 샘플을 보면 버전이 동일하지 않습니다.</P>
<P>귀하의 솔루션은 테이블 A의 열에서 루프를 요구할 것입니다.각 열에 대해 테이블 A 열의 값에 적용해야 하는 오프셋 값을 가져온 다음 해당 열의 모든 행을 반복하여 올바른 오프셋을 적용해야 합니다.<CODE class=" language-jsl">
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.안녕 @ih ,
에서 값을 추가하고 싶습니다. 테이블 B 열 이름 "오프셋" 에게 테이블 A의 열 그룹 "테스트"의 각 행 값이 추가된 새 데이터 테이블 파일을 생성합니다. 테이블 A에는 100개가 넘는 열이 있습니다. 루프 구문을 사용하여 각 행과 열을 반복하려면 어떻게 해야 합니까?
여기 내가 시작하려고 한 것이 있습니다.
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names;
For(i=1; N Rows(dt); i++,
Column(dtOffset)[i] = dt:colList[i] + dtOffset:Offset[i];
);
추천해주시면 감사하겠습니다
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.@txnelson
여기 내가 시도한 것이 있습니다. 무엇이 잘못되었는지 잘 모르겠습니다. 좀 봐주시겠어요?
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
colList = dt << get column names;
For(i=1; N Rows(dt); i++,
Column(dtOffset)[i] = dt:colList[i] + dtOffset:Offset[i];
);
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.당신이 사용할 수있는
colList = dt << get column names;
데이터 테이블의 열 이름을 가져오려면
그런 다음 For() 루프를 사용하십시오.
For(i=1,i<=N Items(colList), i++,
.......
.......
.......
);
각 열에 대해 수행해야 하는 작업을 수행합니다.
스크립팅 가이드 및 스크립팅 인덱스에 설명되어 있습니다......예제 포함
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.추가를 수행하기 위해 루프를 어떻게 사용할 수 있습니까? 테이블 A에 100개 이상의 열이 있습니까?
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.많은 감사 @txnelson 당신은 천재입니다 
Re: 다른 데이터 테이블 파일의 값을 현재 데이터 테이블 파일에 추가합니다.- 시간을 내어 스크립팅 가이드를 읽고 스크립팅 인덱스에 익숙해지십시오.
- 일반적인 프로그래밍 기술을 연마해야 하는 경우 이를 지원할 수 있는 인터넷 사이트가 많이 있습니다.
- 다음은 원하는 작업을 수행하는 간단한 스크립트입니다.
Names Default To Here( 1 );
dt = Data Table( "Table A" );
dtOffset = Data Table( "Table B" );
For Each Row(
dt:Current = dt:Current + dtOffset:Offset[1];
dt:Voltage = dt:Voltage + dtOffset:Offset[2];
dt:Resistance = dt:Resistance + dtOffset:Offset[3];
dt:Inductance = dt:Inductance + dtOffset:Offset[4];
dt:Capacitance = dt:Capacitance + dtOffset:Offset[5];
dt:Power = dt:Power + dtOffset:Offset[6];
dt:Temperature = dt:Temperature + dtOffset:Offset[7];
dt:Humidity = dt:Humidity + dtOffset:Offset[8];
dt:Pressure = dt:Pressure + dtOffset:Offset[9];
dt:Suseptance = dt:Suseptance + dtOffset:Offset[10];
);