Col 합계가 잘못된 데이터 테이블을 참조합니다.내 스크립트에서 열리는 두 개의 데이터 테이블 dt1과 dt2를 말하며 그 순서대로 열었습니다. dt1에는 상태 변수가있는 열이 있습니다. 여기서 "1"이외의 값은 예외 값 유형을 나타냅니다. 나는 dt1에서 특이점의 수를 계산하려고합니다. 이게 내가 가진거야.
n_out = Col Sum(If( dt1:STATUS == "1", 0, 1));
그러나 이것은 작동하지 않는 것 같습니다. 더 최근에 열렸던 dt2를 참조하려고하는 코드가있는 것 같습니다. dt1을 클릭하여 창을 앞으로 가져온 다음 코드를 다시 실행하면 작동합니다. dt1에 대한 나의 참조가 왜 : STATUS가 작동하지 않습니까?
당신의 도움을 주셔서 감사합니다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.이 코드는 올바른 값인 9를 생성합니다.
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
dt1 << New Column( "Outlier", Formula( :height > 65 ) );
n outliers = Col Sum( dt1:Outlier );
여기에서는 이상 값을 테스트하는 식을 사용하는 수식이있는 다른 데이터 열을 사용했습니다. 이 결과는 총계 () 어떤 식 으로든 작동하지만 데이터 열로는 작동하지 않을 수도 있습니다. (힌트, 힌트 : COL SUM ().) 데이터 열 참조 대신 비정상 테스트에 대한 식을 사용할 때 4의 값이 어디에서 왔는지 알 수 없습니다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.왜 안돼?
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.승인... 승인.... 다음은 9로 계산되었습니다.
기본 이름은 여기에 있습니다 (1);
dt1 = Open ( "$ SAMPLE_DATA / Big Class.jmp");
dt2 = 공개 ( "$ SAMPLE_DATA / Fitness.jmp");
n 60 이상 ht = 합계 ((dt1 : 높이 << Get As Matrix)> 65);
이것은 행렬로 변환하는 것이 해결책이라는 것을 의미합니까?
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.같은 문제 ... 내 코드가 :
기본 이름은 여기에 있습니다 (1);
dt1 = Open ( "$ SAMPLE_DATA / Big Class.jmp");
dt2 = 공개 ( "$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1 : height> 65);
쇼 (num_tall);
시스템에서 num_tall = 9을 생성 하시겠습니까?
JMP 13과 관련이 있다면 JMP 13을 사용하고 있습니다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.오늘의 멍청한 질문 : JMP를 종료하고 다시 시작하면 어떻게됩니까?
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.좋은 생각이야 ... 그래서 다음 코드를 실행했습니다.
기본 이름은 여기에 있습니다 (1);
dt1 = Open ( "$ SAMPLE_DATA / Big Class.jmp");
dt2 = 공개 ( "$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1 : height> 65);
쇼 (num_tall);
이것은 결과입니다.
기본 이름은 여기에 있습니다 (1);
dt1 = Open ( "$ SAMPLE_DATA / Big Class.jmp");
dt2 = 공개 ( "$ SAMPLE_DATA / Fitness.jmp");
num_tall = Col Sum (dt1 : height> 65);
쇼 (num_tall);
/ * :
num_tall = 4;
그런 다음 Big Class 테이블을 클릭하면 (Forefront로 가져옴) 다음과 같이 표시됩니다.
num_tall = Col Sum (dt1 : height> 65);
쇼 (num_tall);
/ * :
num_tall = 9;
정답은 무엇입니까?
내 설정에 문제가 있습니까? 아니면 JSL이 설계된 방식입니까?
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.다음 코드를 대신 사용해보십시오.
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
n ht over 60 = Sum( (Column( dt1, 4 ) << Get As Matrix) > 60 );
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.원래 문제에서 물러나서 더 간단한 것을 시도해보십시오. 예를 들어, 각 데이터 테이블에 다른 값이있는 경우 하나의 위치 만 참조하여 어떤 값이 반환되는지 확인하십시오. 예를 들어,
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
value = Column( dt1, 4 )[2]; // second row of :height in Big Class?
Show( value );
그것은 작동하는 것 같다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.응답 해 주셔서 감사합니다.
나는 똑같은 문제를 겪는다.
특정 예제에 대한 대답은 n_out = 3이라는 것을 알고 있습니다. 내 화면에서 dt1이 백그라운드에서 처음 열리고 그 다음 dt2가 표시됩니다. 이 코드 줄을 실행하면 n_out = 0이됩니다. 그러나 dt1 테이블을 클릭하면 (화면의 맨 앞에 가져다 놓음) 코드를 다시 실행하면 n_out = 3이됩니다.
이것은 내가 문제가 잘못된 테이블을 참조하는 것이라고 생각하는 이유입니다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.나는 또한 다음을 시도했다 :
n_out = 합계 (NOT (dt1 : STATUS == "1"))
여전히 작동하지 않습니다.
나는 특정한 예에 대한 답이 3이라는 것을 안다. 내 화면에서 dt1이 백그라운드에서 처음 열리고 그 다음 dt2가 표시됩니다. 이 코드 줄을 실행하면 n_out = 0이됩니다. 그러나 dt1 테이블을 클릭하면 (화면의 맨 앞에 가져다 놓음) 코드를 다시 실행하면 n_out = 3이됩니다.
이것은 내가 문제가 잘못된 테이블을 참조하는 것이라고 생각하는 이유입니다.
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.이 양식을 시험해보고 작동하는지 확인하십시오.
n_out = Col Sum( dt1:STATUS != "1");
다시 : Col 합계가 잘못된 데이터 테이블을 참조합니다.귀하의 설명에 따르면, 그것은 분명히 일어나지 않아야하는 것처럼 들립니다. 귀하의 코드에 어떤 문제도 나타나지 않습니다. JMP 기술 지원에 전화하기 좋은 시간이 될 것입니다.