JMP 스크립팅 - "셀" 값을 변경하는 방법<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕,
스크립트에서 계산 결과인 "셀"의 값을 변경하려면 어떻게 스크립트를 작성해야 하는지 궁금합니다.
구체적으로 계산된 값이 음수이면 다른 모든 "셀"은 그대로 두고 셀의 값을 "0"으로 변경할 수 있기를 원합니다.
새 열에 있어야 하는 경우에도 괜찮습니다. 예를 들어 계산된 값의 열이 있고 관심 있는 열이 음수인 경우 해당 "셀"에 대해 "0"이라고만 표시되는 새 열을 만듭니다.
미리 감사드립니다.
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법짧막 한 농담....
dt[dt<< 행 가져오기 where(:ageval < 14)] = 0;
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법이 시나리오에서는 '범위 확인' 열 속성을 사용할 수 있습니다. 그렇게 하면 테이블이 메타 데이터를 전달하므로 다른 테이블이 필요하지 않습니다.
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(2);
Column(dt, "age") << rangeCheck( !LT( 13 ) );
Column(dt, "weight") << rangeCheck( LT( 100 ) );Re: JMP 스크립팅 - "셀" 값을 변경하는 방법수식을 변경하여 변경하고자 하는 값을 확인한 후 수식에 조건문을 사용하여 원하는 값으로 변경해야 합니다.
// Sample formula
:A + :B;
If( isMissing(:A+:B) == 1, 0 );
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법안녕 짐,
IF 명령에 정의된 대로 "else" 및 세 번째 대안이 있는 경우 이 스크립트의 형식은 무엇입니까?
최상의,
케이
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법이안,
매트릭스 방식이 마음에 드는데 세정 조건이 다른 컬럼을 여러 개 정리하고 싶을 때 어떻게 해야 할까요?
예를 들어 큰 수업에서
age --> 값 < 13인 모든 셀을 비어 있는 것으로 설정
높이 -> 값이 > 100인 모든 셀을 비어 있는 것으로 설정
모든 열 조건에 대한 참조 테이블이 있다고 가정합니다.
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법수식을 게시 할 수 있습니까?처럼 tx넬슨 수식의 확인 부분을 간단하게 만들 수 있다고 말했습니다.
수식을 게시하려면 다음을 수행하십시오.
1. 데이터세트를 열고 수식 열 옆에 있는 + 기호를 클릭합니다.
2. 수식 창 내부를 두 번 클릭합니다.수식에 대한 JSL 코드를 표시하도록 창이 변경됩니다.
3. JSL 코드를 복사하여 이 포럼에 게시합니다.
새 공식은 다음과 같습니다.
시간 = 놓다 - 원래의 - 공식 - 여기 ;
만약에 ( 시간 < 0 , 0 , 시간 ) ;
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법수식의 조건부 확인 부분을 확실히 만들 수 있습니다.
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법공식의 테스트 부분을 만드는 것이 이치에 맞습니까?
만약에 ( 성냥 ( ... ) < 0 ,
0 ,
성냥 ( ... )
)
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법다들 감사 해요.
내가하려는 것은 수식이 포함 된 열의 셀 값을 변경하는 것입니다.
Big Class 열 "Age"는 수식에서 나온 것이 아니므로 이러한 제안은 모두 셀 값을 변경하는 데 사용됩니다.
일치 수식을 사용하는 "Test"라는 열이 있습니다. 일치 수식이 음수로 계산하는 경우 해당 열의 셀 값을 0으로 변경하도록 스크립팅하는 방법이 있습니까? 값이 음수이면 값을 강제로 0으로 만들고 싶습니다.
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법나는 이것을 한 단계 더 밟을 것이다.Ian이 보여준 것과 비슷한 일을 여러 번 했습니다.데이터 테이블에서 데이터를 꺼내고 행렬 연산자를 사용합니다.이는 많은 양의 데이터에 대한 성능 이점이 있습니다.그러나 다음은 매우 빠르며 데이터 테이블에서 추출할 필요가 없기 때문에 여러 번 사용한 기술입니다.
여기에 기본 이름( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Try( dt:Age[dt << get rows where( :Age < 14 )] = 0 );
"Try" 함수는 Get Rows Where가 빈 행렬을 반환할 수 있고 할당에서 오류가 발생하는 경우를 방지하기만 합니다.
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법그리고 Jim의 답변을 바탕으로 가능한 경우 루프를 피하는 것이 일반적으로 좋은 습관으로 간주됩니다.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Get the values of age into a vector
ageVals = dt:Age << getValues;
// Find the location of age values less than 14
ageValsLessThan14 = Loc(ageVals < 14);
// Set these values to zero
ageVals[ageValsLessThan14] = 0;
// Put the new values back into the column
dt:Age << setValues(ageVals);
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법레베카,
당신이 요구하는 것이 저스틴이 보여준 것보다 더 기본적인 수준에서 설명되어야 하는지 궁금합니다.그의 예는 답을 제공하지만 문제를 설명한 방식으로 조건문의 구성 요소가 현재 데이터 테이블이 아닌 다른 소스에서 나올 수 있는 시나리오를 추측할 수 있습니다.
JMP 데이터 테이블의 기본 사항 중 하나는 모든 셀에 직접 주소를 지정할 수 있다는 것입니다.Justin의 답변에 있는 데이터 테이블을 사용하면 열 이름과 행 번호만 지정하면 모든 셀에 액세스할 수 있습니다.
:Age[1]
Age 열의 첫 번째 행 값을 가리킵니다.이를 참조하는 보다 정확한 방법은 데이터 테이블 포인터(데이터 테이블 네임스페이스)를 사용하는 것입니다.따라서 Justin의 응답에 지정된 데이터 테이블에 대한 포인터가 "dt"이면
dt:Age[1]
더 적절한 형식입니다.
Justin의 예를 들어 실제로 값을 변경할 수 있으며 새 열을 만들 필요가 없습니다.다음 코드는 그렇게 할 것입니다.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For( I = 1, I <= N Rows( dt ), I++,
if(dt:Age < 14,
dt:Age = 0
);
);
Re: JMP 스크립팅 - "셀" 값을 변경하는 방법다음은 새 열에 복사할 때 셀을 조건부로 변경하는 방법의 예입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
col = dt << New Column( "New Column", Formula( If( :age < 14, 0, :age ) ) );
귀하의 경우 조건을 14가 아닌 0보다 작게 변경합니다.