동일한 스크립트에서 생성된 여러 데이터 테이블안녕 모두,
동일한 스크립트에서 생성된 첫 번째 데이터 테이블에서 두 번째 데이터 테이블을 생성하려고 합니다. 가능합니까?
예:
dt_= 열기(경로_pst);
//첫 번째 데이터 테이블
시작 = 새 테이블("W",
새 열("S"),
새 열("Z"),
새 열("X"),
새 열("Y"),
새 열("E"),
새 열("W"),
새 열("S"),
행 추가(545)
);
//일부 계산
for(i=1,i<=545,i++,
W:B[i] = ((dt_ - dt_*60)/8;
W:S[i] = dt_[i];
W:X[i] = dt_[i]/10000000;
W:Y[i] = dt_[i]/10000000;
W:E[i] = dt_[i];
W:W[i] = dt_[i];
W:S[i] = dt_[i];
);
//두 번째 데이터 테이블 생성
시작 = 새 테이블("WIWM",
새 열("Si"),
새 열("Ba"),
새 열("X1"),
새 열("Y1"),
새 열("En"),
새 열("Wa"),
새 열("M"),
행 추가(109)
);
//생성된 첫 번째 데이터 테이블을 기반으로 두 번째 데이터 테이블 계산
for (i=1, i<=109,i++,
WIWM:Ba[i] = (W:B[i+109]+W:B[i+218]+W:B[i+327]+W:B[i+436])/4;
WIWM:Si[i] = W:S[i];
WIWM:X1[i] = W:X[i];
WIWM:Y1[i] = W:Y[i];
WIWM:En[i] = W:E[i];
WIWM:Wa[i] = W:W[i];
);
첫 번째 데이터 테이블이 예상대로 나온 후 두 번째 데이터 테이블에는 예상 행 번호가 있지만 비어 있습니다(조건이 실행되지 않음).
스크립트를 분리하여 첫 번째 부분에서 첫 번째 계산을 수행하고 저장하고 저장된 데이터 테이블에서 두 번째 부분을 실행한 후 두 번째 데이터 테이블에 대한 계산을 수행합니다.
감사해요.
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.https://community.jmp.com/t5/Uncharted/What-is-the-JSL-Matrix/ba-p/33349 간략한 소개입니다. 문서도 있습니다.
http://www.jmp.com/support/help/Matrices.shtml
http://www.jmp.com/support/help/Matrix_Functions.shtml
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.예를 들어 주시겠습니까?
감사해요
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.당신은 매트릭스로 작업하고 있기 때문에 다음 질문을 할 것입니다. 데이터를 데이터 테이블에 넣은 다음 데이터 테이블을 매트릭스 홀더처럼 취급하는 이유는 무엇입니까?스크립트에서 수행하는 모든 단계는 매트릭스를 사용하여 개방형 JSL에서 쉽고 빠르게 수행할 수 있습니다.
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.안녕,
빠른 재생 감사합니다.
예, 저는 행렬로 작업하고 있습니다. 첫 번째는 n열, 545행입니다(열 번호 기능을 사용할 수 있지만 번호를 확인하는 것이었습니다).
첫 번째 실제 데이터 테이블에서 필터가 필요하고 545개의 행과 행렬이 있는 "첫 번째" 데이터 테이블인 새 데이터 테이블을 만듭니다.
그 후 "첫 번째 것"에서 다른 계산을 수행하고 결국 109 행과 마틱스가 있는 "두 번째 것"을 얻어야 합니다.
감사해요.
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.고마워 짐. 더 조사할 목록에 이것을 추가하고 있습니다... 당신처럼, 그런 것이 있는 줄 몰랐습니다.
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.당신의 대본은 저에게 새로운 것을 가르쳐 주었습니다.나는 그것에 대한 문서를 찾을 수 없었지만 귀하의 스크립트는 그것이 작동한다는 것을 보여줍니다 ..... 일종의.
코드에서 다음을 통해 데이터 테이블의 행과 열을 참조하고 있습니다.
데이터 테이블명 : 컬럼명[ row ]
그래서 당신이 지정할 때
시작 = 새 테이블( "W", 새 열( "S"), ........
행 "5"의 열 "S"를 다음과 같이 참조합니다.
W:S[5]
분명히 작동합니다.그러나 나중에 스크립트에서 이름을 지정한 데이터 테이블에 대해 동일한 논리를 사용하려고 합니다.
시작 = 새 테이블( "WIWM", 새 열( "Si").........
W라는 데이터 테이블을 다시 참조하려고 합니다.
WIWM:SI[1] = W:S[1];
작동하지 않습니다.
문제는 데이터 테이블 네임스페이스 참조를 설정하는 올바른 방법은 데이터 테이블 이름이 아닌 할당문을 사용하여 네임스페이스 이름을 할당하는 것입니다.제가 새로 배운 것은 JMP가 새 데이터 테이블이 생성될 때까지 데이터 테이블 이름을 이름 공간으로 사용한 다음 데이터 테이블 이름 네임스페이스 링크를 느슨하게 한다는 것입니다.
결론은 줄을 변경하면 코드가 제대로 작동한다는 것입니다.
시작 = 새 테이블("W",
에게
W = 새 테이블("W",
그리고
시작 = 새 테이블("WIWM",
에게
WIWM = 새 테이블("WIWM",
마지막으로 일종의 파일을 열고 다음과 같이 참조합니다.
dt_ = 열기(경로_pst);
여는게 뭐에요?나는 그것이 매트릭스라고 가정합니다.당신의 코드에서 실제로 무슨 일이 일어나고 있는지 더 잘 이해할 수 있도록 이에 대해 저에게 다시 연락해 주시겠습니까?
Re: 동일한 스크립트에서 여러 데이터 테이블이 생성되었습니다.데이터 테이블을 사용 물체 NewTable에 의해 반환됨 기능 변수가 어느 테이블에 있는지 알려줍니다. 테이블의 이름 변수의 범위 지정에는 사용되지 않습니다. 세 번째 과제는 세 개의 테이블을 모두 사용합니다. 나는 모든 것을 고유하게 명명했지만 범위 지정에는 필요하지 않습니다. dt3: , 예를 들어 다음을 설정합니다. 범위 , 또는 이 예제에서 뒤따르는 변수 z를 찾을 위치입니다.
dt1 = New Table( "table name A", New Column( "x", values( [1 2 3] ) ) );
dt2 = New Table( "table name Squares", New Column( "y" ), addrows( 3 ) );
dt3 = New Table( "table name Cubes", New Column( "z" ), addrows( 3 ) );
For( i = 1, i <= N Rows( dt1 ), i++,
dt2:y[i] = dt1:x[i] ^ 2;
dt3:z[i] = dt1:x[i] * dt2:y[i];
);
small table of Cubessmall table of Cubes작은 큐브 테이블